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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                數組一個固定長度的特定類型元素組成的序列,一個數組可以由零個或多個元素組成。因為數組的長度是固定的,所以在Go語言中很少直接使用數組。 和數組對應的類型是Slice(切片),Slice是可以增長或收縮的動態序列,功能也更靈活。但是想要理解slice工作原理的話需要先理解數組。所以本節主要為大家講解數組的使用。 ## Go語言數組的聲明 數組的聲明語法如下: ~~~ var 數組變量名 [元素數量]Type ~~~ 語法說明如下所示: * 數組變量名:數組聲明及使用時的變量名; * 元素數量:數組的元素數量,可以是一個表達式,但最終通過編譯期計算的結果必須是整型數值,元素數量不能含有到運行時才能確認大小的數值; * Type:可以是任意基本類型,包括數組本身,類型為數組本身時,可以實現多維數組; 數組的每個元素都可以通過索引下標來訪問,索引下標的范圍是從 0 開始到數組長度減 1 的位置,內置函數?len() 可以返回數組中元素的個數。 默認情況下,數組的每個元素都會被初始化為元素類型對應的零值,對于數字類型來說就是 0,同時也可以使用數組字面值語法,用一組值來初始化數組: ~~~ var q [3]int = [3]int{1, 2, 3} var r [3]int = [3]int{1, 2} fmt.Println(r[2]) // "0" ~~~ 在數組的定義中,如果在數組長度的位置出現“...”省略號,則表示數組的長度是根據初始化值的個數來計算,因此,上面數組?q 的定義可以簡化為: ~~~ q := [...]int{1, 2, 3} fmt.Printf("%T\n", q) // "[3]int" ~~~ 數組的長度是數組類型的一個組成部分,因此 \[3\]int 和 \[4\]int 是兩種不同的數組類型,數組的長度必須是常量表達式,因為數組的長度需要在編譯階段確定。 ~~~ q := [3]int{1, 2, 3} q = [4]int{1, 2, 3, 4} // 編譯錯誤:無法將 [4]int 賦給 [3]int ~~~ ## 比較兩個數組是否相等 如果兩個數組類型相同(包括數組的長度,數組中元素的類型)的情況下,我們可以直接通過較運算符(`==`和`!=`)來判斷兩個數組是否相等,只有當兩個數組的所有元素都是相等的時候數組才是相等的,不能比較兩個類型不同的數組,否則程序將無法完成編譯。 ~~~ 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 ~~~ ## 遍歷數組——訪問每一個數組元素 遍歷數組也和遍歷切片類似,代碼如下所示: ~~~ var team [3]string team[0] = "hammer" team[1] = "soldier" team[2] = "mum" for k, v := range team { fmt.Println(k, v) } ~~~ 代碼輸出結果: ~~~ 0 hammer 1 soldier 2 mum ~~~ ## 多維數組 Go語言中允許使用多維數組,因為數組屬于值類型,所以多維數組的所有維度都會在創建時自動初始化零值,多維數組尤其適合管理具有父子關系或者與坐標系相關聯的數據。 聲明多維數組的語法如下所示: ~~~ var array_name [size1][size2]...[sizen] array_type ~~~ 其中,array\_name 為數組的名字,array\_type 為數組的類型,size1、size2 等等為數組每一維度的長度。 結合上一節《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>

                              哎呀哎呀视频在线观看