<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>

                [TOC] ## 變量聲明 - 使用var關鍵字 > var 變量名 變量類型 = [變量值] ``` //定義多個變量 var vname1,vname2,vname3 type //定義變量,并初始化 var vname1 int = 1 //同時初始化多個變量 var vname1,vname2,vname3 = v1,v2,v3 ``` - 使用 := ``` //定義變量,并初始化 vname1 := 1 //同時初始化多個變量 vname1,vname2,vname3 := v1,v2,v3 // 示例: var a, b, c = 3, 4, "foo" ``` - 分組聲明 在Go語言中,同時聲明多個常量、變量,或者導入多個包時,可采用分組的方式進行聲明 ``` // 同時導入多個包 import ( "fmt" "errors" ) // 聲明多個常量 const ( i = 100, pi = 3.14 prex = "Go_" ) // 聲明多個變量 var ( a int, b string = "hello", ) ``` - 特殊變量: _(下劃線) `任何賦予它的值都會被丟棄,Go語言對于已聲明但未使用的變量會在編譯階段報錯,可以通過其來丟棄` ``` _, b := 1,2 ``` ## 基礎類型 ### 整數 整數類型有無符號和帶符號兩種。Go語言同時支持int和uint,這兩種類型的長度相同,但具體長度取決于不同編譯器的實現。當前的gcc和gccgo編譯器在32位和64位平臺上都使用32位來表示int和uint,但未來在64位平臺上可能增加到64位。Go語言里面也有直接定義好位數的類型:rune,int8,int16,int32,int64和byte,uint8,uint16,uint32,uint64。`其中rune是int32的別稱,byte是uint8的別稱` ### 浮點數 浮點類型有float32 和 浮點類型有float64 兩種,默認是float64 ### 復數 默認類型是complex128(64位實數+64位虛數)。如果需要小一些的,也有complex64(32位實數+32位虛數)。復數的形式為RE+IMi,其中RE是實數部分,IM是虛數部分,而最后的i是虛數單位 ``` var c complex64 = 5 + 5i ``` ### 布爾類型 布爾值的類型為bool,值是true或false,默認為false ### 字符串 字符串都是采用UTF-8字符集編碼。字符串是用一對雙引號("")或反引號(` `)括起來定義,`字符串不可變,可以用 + 操作符 連接兩個字符串` ``` // 單行字符串 s := "hello word" // 多行字符串 s := `這是一個段落, 此處的換行會原樣輸出。 ` ``` ### 錯誤類型 Go語言內置有一個error類型,專門用來處理錯誤信息,Go語言的package里面還專門有一個包errors來處理錯誤 ``` err := errors.New("error:我自己定義的錯誤") if err != nil { fmt.Print(err) } ``` ### 常量 程序編譯階段就確定下來的值,而程序在運行時則無法改變該值。在Go語言程序中,常量可定義為數值、布爾值或字符串等類型。 語法: > const 常量名 [常量類型] = 常量值 ``` const PI float32 = 3.1415 const a = 100 const Prex = "Go_" ``` ## 復合類型 ### 數組 ``` 語法: var 數組變量名 [數組長度]T 說明: ● 數組變量名:數組聲明及使用時的變量名。 ● 元素數量:數組的元素數量。 可以是一個表達式,但最終通過編譯期計算的結果必須是整型數值。 也就是說,元素數量不能含有到運行時才能確認大小的數值。 ● T可以是任意基本類型,包括T為數組本身。但類型為數組本身時,可以實現多維數組 示例: var arr [3]int //默認初始化0 var q [3]int = [3]int{1,2,3} q := [...]int{1,2,3} q := [...]int{90:-1}//key和value的賦值方式,下表90的值為-1,數組長度為91 ``` > 如果在 `數組的長度` 位置出現的是“...”省略號,則表示數組的長度是根據初始化值的 個數來計算 ### 切片 創建slice主要兩種:1.基于數組創建。2.直接創建 - 1.基礎數組創建 ``` arrVar := [4]int{1, 2, 3,4} sliceVar := arrVar[1:3] ``` > 數組arrVar和sliceVar里面的地址其實是一樣的,也就是說如果你改變sliceVar里面的變量,那么arrVar里面的變量也會隨之改變。 - 2.直接創建 ``` myslice1 := make([]int,5)//創建一個元素個數5的slice,cap也是5 myslice2 := make([]int,5,10)//創建一個元素個數5的slice,cap是10 myslice3 := []int{1,2,3,4}//創建一個元素個數為4的slice,cap是4 var slice []int //創建一個空的slice,cap和len都是0 ``` > 可以使用內置的make()函數來創建。事實上還是會創建一個匿名的數組,只是不需要我們來定義。 ### map 可以使用內建函數 make 也可以使用 map 關鍵字來定義 Map: ``` /* 聲明變量,默認 map 是 nil */ var myMap map[keyType]valueType //示例1 ages := map[string] int { "tom": 21, "anny": 18, } /* 使用 make 函數 */ myMap := make(map[keyType]valueType) //示例1相當于 ages := make(map[string]int) ages["tom"] = 21 ages["anny"] = 18 ``` > myMap是聲明的變量名,keyType是對應的Key的類型,valueType是value的類型。 ### 結構體 > 結構體是一種聚合的數據類型,是由零個或多個任意類型的值聚合成的實體。每個值稱為結構體的成員。 ``` /* 聲明結構體 */ type 結構體名稱 struct { 屬性1 類型 屬性2 類型 ... } /* 使用示例 */ type User struct { name string age int } user := new(User) user.name = "tom" user.age = 20 ``` <font color='red'>字段直接沒有逗號,</font> > 結構體的初始化可以使用new關鍵詞和var關鍵詞,不同的是如果使用new,則返回類型是一個指針,使用var,則是結構體自身。
                  <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>

                              哎呀哎呀视频在线观看