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

                數組是具有相同 **唯一類型**的一組已編號且長度固定的數據項序列;這種類型可以是任意的原始類型例如整型、字符串或者自定義類型。數組長度必須是一個常量表達式,并且必須是一個非負整數。數組長度也是數組類型的一部分,所以 [5] int 和 [10] int 是屬于不同類型的。 聲明的格式是`var identifier [len]type`。例如:`var arr1 [5]int` 對索引項為 i 的數組元素賦值可以這么操作:arr[i] = value,所以數組是 可變的。 ## 初始化賦值 ``` package main import "fmt" func main() { a, b, c := 1, 2, 3 // 第一種 arr1 := [5]int{a, b, c ,4, 5} // 第二種,可以忽略數組中元素 arr2 := [5]int{1, 2, 3} // 第三種 var arr3 = [...]int{5, 6, 7, 8} // 第四種,key: value syntax,數組長度可以省略,默認長度為數組索引最大值 var arr4 = [5]int{3: 3, 4: 4} // 輸出: [0 0 0 3 4] fmt.Printf("arr1-type: %T; arr2-type: %T; arr3-type: %T; arr4-type: %T", arr1, arr2, arr3, arr4) // arr1-type: [5]int; arr2-type: [5]int; arr3-type: [4]int; arr4-type: [5]int } ``` ## 多維數組 Go語言中允許使用多維數組,因為數組屬于值類型,所以多維數組的所有維度都會在創建時自動初始化零值,多維數組尤其適合管理具有父子關系或者與坐標系相關聯的數據,例如:[3][5]int(第一維3個元素,第二維5個元素),[2][2][2]float64。 內部數組總是長度相同的。Go 語言的多維數組是矩形式的(唯一的例外是切片的數組) 聲明并賦值 `var array = [4][2]int{{10, 11}, {20, 21}, {30, 31}, {40, 41}}` ``` package main import "fmt" const ( ONE = 3 TWO = 2 ) type pixel int var screen [ONE][TWO]pixel func main() { for y := 0; y < TWO; y++ { for x := 0; x < ONE; x++ { screen[x][y] = pixel(x) // 此處需要用類型轉換 } } fmt.Println(screen) // [[0 0] [1 1] [2 2]] } ``` ## 比較兩個數組是否相等 如果兩個數組類型相同(包括數組的長度,數組中元素的類型)的情況下,我們可以直接通過較運算符(==和!=)來判斷兩個數組是否相等,只有當兩個數組的所有元素都是相等的時候數組才是相等的,不能比較兩個類型不同的數組,否則程序將無法完成編譯。 ``` package main import "fmt" func main() { a := [2]int{1, 2} b := [...]int{1, 2} c := [2]int{1, 3} fmt.Println(a == b, a == c, b == c) // "true false false" d := [3]int{1, 2} fmt.Println(a == d) // 編譯錯誤:無法比較 [2]int == [3]int } ```
                  <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>

                              哎呀哎呀视频在线观看