<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                #內置基礎數據類型 在自然界里面,有貓,有狗,有豬。有各種動物。每種動物都是不同的。 比如貓會喵喵叫,狗會旺旺叫,豬會哼哼叫。。。 Stop!!! 好了,大家畢竟不是幼兒園的小朋友。介紹到這里就可以了。 論點就是每個東西都有自己歸屬的類別(Type)。 那么在Go語言里面,每個變量也都是有類別的,這種類別叫做`數據類型(Data Type)`。 Go的數據類型有兩種:一種是`語言內置的數據類型`,另外一種是`通過語言提供的自定義數據類型方法自己定義的自定義數據類型`。 先看看語言`內置的基礎數據類型` **數值型(Number)** 數值型有`三種`,一種是`整數類型`,另外一種是`帶小數的類型`(一般計算機里面叫做`浮點數類型`),還有一種`虛數類型`。 整數類型不用說了,和數學里面的是一樣的。和數學里面不同的地方在于計算機里面`正整數和零`統稱為`無符號整型`,而`負整數`則稱為`有符號整型`。 Go的內置整型有`uint8`, `uint16`, `uint32`, `uint64`, `int8`, `int16`, `int32`和`int64`。其中`u`開頭的類型就是`無符號整型`。無符號類型能夠表示正整數和零。而有符號類型除了能夠表示正整數和零外,還可以表示負整數。 另外還有一些別名類型,比如`byte`類型,這個類型和`uint8`是一樣的,表示`字節類型`。另外一個是`rune類型`,這個類型和`int32`是一樣的,用來表示`unicode的代碼點`,就是unicode字符所對應的整數。 Go還定義了三個`依賴系統`的類型,`uint`,`int`和`uintptr`。因為在32位系統和64位系統上用來表示這些類型的位數是不一樣的。 *對于32位系統* uint=uint32 int=int32 uintptr為32位的指針 *對于64位系統* uint=uint64 int=int64 uintptr為64位的指針 至于類型后面跟的數字8,16,32或是64則表示用來表示這個類型的位不同,`位越多,能表示的整數范圍越大`。 比如對于用N位來表示的整數,如果是`有符號的整數`,能夠表示的整數范圍為`-2^(N-1) ~ 2^(N-1)-1`;如果是`無符號的整數`,則能表示的整數范圍為`0 ~ 2^N`。 Go的浮點數類型有兩種,`float32`和`float64`。float32又叫`單精度浮點型`,float64又叫做`雙精度浮點型`。其`最主要的區別就是小數點后面能跟的小數位數不同`。 另外Go還有兩個其他語言所沒有的類型,`虛數類型`。`complex64`和`complex128`。 對于數值類型,其所共有的操作為`加法(+)`,`減法(-)`,`乘法(*)`和`除法(/)`。另外對于`整數類型`,還定義了`求余運算(%)` 求余運算為整型所獨有。如果對浮點數使用求余,比如這樣 package main import ( "fmt" ) func main() { var a float64 = 12 var b float64 = 3 fmt.Println(a % b) } 編譯時候會報錯 invalid operation: a % b (operator % not defined on float64) 所以,這里我們可以知道所謂的`數據類型有兩層意思`,一個是定義了`該類型所能表示的數`,另一個是定義了`該類型所能進行的操作`。 簡單地說,對于一只小狗,你能想到的一定是狗的面貌和它會汪汪叫,而不是貓的面容和喵喵叫。 **字符串類型(String)** 字符串就是一串固定長度的字符連接起來的字符序列。Go的字符串是由`單個字節`連接起來的。(對于漢字,通常由多個字節組成)。這就是說,傳統的字符串是由字符組成的,而`Go的字符串不同`,是`由字節組成`的。這一點需要注意。 字符串的表示很簡單。用(雙引號"")或者(``號)來描述。 "hello world" 或者 `hello world` 唯一的區別是,**雙引號之間的轉義字符會被轉義,而``號之間的轉義字符保持原樣不變**。 package main import ( "fmt" ) func main() { var a = "hello \n world" var b = `hello \n world` fmt.Println(a) fmt.Println("----------") fmt.Println(b) } 輸出結果為 hello world ---------- hello \n world 字符串所能進行的一些基本操作包括: (1)`獲取字符長度` (2)`獲取字符串中單個字節` (3)`字符串連接` package main import ( "fmt" ) func main() { var a string = "hello" var b string = "world" fmt.Println(len(a)) fmt.Println(a[1]) fmt.Println(a + b) } 輸出如下 5 101 helloworld 這里我們看到a[1]得到的是一個整數,這就證明了上面`"Go的字符串是由字節組成的這句話"`。我們還可以再驗證一下。 package main import ( "fmt" ) func main() { var a string = "你" var b string = "好" fmt.Println(len(a)) fmt.Println(len(b)) fmt.Println(len(a + b)) fmt.Println(a[0]) fmt.Println(a[1]) fmt.Println(a[2]) } 輸出 3 3 6 228 189 160 我們開始的時候,從上面的三行輸出知道,"你"和"好"分別是用三個字節組成的。我們依次獲取a的三個字節,輸出,得到結果。 **布爾型(Bool)** 布爾型是表示`真值`和`假值`的類型。可選值為`true`和`false`。 所能進行的操作如下: `&& and 與` `|| or 或` `! not 非` Go的布爾型取值`就是true`或`false`。`任何空值(nil)或者零值(0, 0.0, "")都不能作為布爾型來直接判斷`。 package main import ( "fmt" ) func main() { var equal bool var a int = 10 var b int = 20 equal = (a == b) fmt.Println(equal) } 輸出結果 false 下面是錯誤的用法 package main import ( "fmt" ) func main() { if 0 { fmt.Println("hello world") } if nil { fmt.Println("hello world") } if "" { fmt.Println("hello world") } } 編譯錯誤 ./t.go:8: non-bool 0 (type untyped number) used as if condition ./t.go:11: non-bool nil used as if condition ./t.go:14: non-bool "" (type untyped string) used as if condition 上面介紹的是Go語言內置的基礎數據類型。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看