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

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                > 數組是一組同類型數據的集合,數組初始化后長度是固定的,無法修改數組長度; [TOC] ## 數組 ### 數組定義 > 語法: `var 變量名 [數組大小]元素類型` ~~~ // 定義擁有10個元素的數組a,元素類型是int var a [3]int // 定義擁有2個元素的字符串數組 var arr [2]string ~~~ ### 數組變量默認值 > 數組定義后會默認初始化,根據數組元素類型進行復制,比如int為0,string為空字符 ~~~ // 默認初始化為 [0, 0, 0] var arr1 [3]int // 默認初始化為 ["", ""] var arr2 [2]string fmt.Println(arr1, arr2) ~~~ ### 數組初始化 > 可以在定義數組的時候直接初始化數組元素 ~~~ // 數組大小為6, 后面花括號直接初始化6個元素 primes := [6]int{2, 3, 5, 7, 11, 13} ~~~ ### 讀寫數組元素 > 通過下標引用數組元素,下標從0開始計算,最大不能超過數組長度 ~~~ // 定義字符串數組a,數組大小等于2 var a [2]string // 給數組第一個元素賦值 a[0] = "Hello" // 給數組第二個元素賦值 a[1] = "World" // 打印數組第1和2個元素 fmt.Println(a[0], a[1]) ~~~ ### 獲取數組大小 > 可以通過len獲取數組大小 ~~~ primes := [6]int{2, 3, 5, 7, 11, 13} // 打印數組大小 fmt.Println(len(primes)) ~~~ ## 切片 ### 切片定義 > 語法1: `var 變量名 []元素類型` > 語法2: `變量名 := make([]type, len)` > 語法2: `變量名 := make([]type, len, capacity)`,len (長度)、capacity(容量) > 切片如果沒有初始化,默認值是nil ~~~ var slice1 []int slice2 := make([]int, 3) slice3 := make([]int, 0, 5) // 創建int類型切片,包含0個元素,切片容量為5 if(slice1 == nil){ fmt.Printf("切片是空的") } fmt.Println(slice1, slice2, slice3) ~~~ ### 切片變量默認值 > 沒有初始化的切片變量,默認值是nil ~~~ var slice1 []int if slice1 == nil { fmt.Println("is nil") } fmt.Println(slice1) ~~~ ### 切片初始化 ~~~ slice1 := []int {1, 2, 3} arr := [3]string {"111", "222", "333"} slice2 := arr[0:2] ~~~ ### 切片截取 > 可以通過設置下限及上限來設置截取切片 [startIndex:endIndex] ~~~ arr := [3]string {"111", "222", "333"} //arr := []string {"111", "222", "333"} // 從arr【可為數組/或切片】 [切割 startIndex <= 下標范圍 < endIndex] 初始化切片slice1 slice1 := arr[startIndex:endIndex] // 從arr【可為數組/或切片】 [切割 startIndex <= 下標范圍 < len(arr)] 初始化切片slice1 slice1 := arr[startIndex:] // 從arr【可為數組/或切片】 [切割 0 <= 下標范圍 < endIndex] 初始化切片slice1 slice1 := arr[:endIndex] // 忽略開始和結束位置,代表切割所有數據,相當于引用整個數組或切片 slice1 := arr[:] ~~~ ### 切片的大小和容量 > 使用 len() 和 cap() 函數 ~~~ slice1 := []int{2, 3, 5, 7, 11, 13} fmt.Println(len(slice1), cap(slice1)) ~~~ ### 向切片添加元素 ~~~ package main import "fmt" func main() { var slice1 []int // 將1增加到切片尾部 slice1 = append(slice1, 1) // append函數支持一次性添加多個元素 slice1 = append(slice1, 2, 3, 4) fmt.Printf("len=%d cap=%d %v\n", len(slice1), cap(slice1), slice1) } ~~~ ### 讀寫切片元素 > 需要注意的是,因為切片底層引用的是數組,如果多個切片引用同一個數組,修改其中一個切片的元素,會影響關聯的所有切片。 ~~~ package main import "fmt" func main() { names := [4]string{"John", "Paul", "George", "Ringo"} fmt.Println(names) // 創建a,b兩個切片 a := names[0:2] b := names[1:3] fmt.Println(a, b) // 修改切片b的第一個元素 b[0] = "XXX" fmt.Println(a, b) fmt.Println(names) } ~~~ > 輸出 ~~~ [John Paul George Ringo] [John Paul] [Paul George] [John XXX] [XXX George] [John XXX George Ringo] ~~~ ## 遍歷數組或切片 > 通過range關鍵詞結合for語句遍歷切片 ~~~ package main import "fmt" // 定義切片或數組 items := []string{"aaa", "bbb", "ccc"} //items := [3]string{"aaa", "bbb", "ccc"} func main() { // index 為切片下標,value 為對應的元素值 for index, value := range items { fmt.Printf("%d = %s\n", index, value) } } ~~~
                  <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>

                              哎呀哎呀视频在线观看