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

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## slice Slice(切片)代表變長的序列,序列中每個元素都有相同的類型。一個slice類型一般寫作\[\]T,其中T代表slice中元素的類型;slice的語法和數組很像,只是沒有固定長度而已。 數組和slice之間有著緊密的聯系。一個slice是一個輕量級的數據結構,提供了訪問數組子序列(或者全部)元素的功能,而且slice的底層確實引用一個數組對象。一個slice由三個部分構成:**指針、長度和容量**。**指針指向第一個slice元素對應的底層數組元素的地址,要注意的是slice的第一個元素并不一定就是數組的第一個元素**。長度對應slice中元素的數目;**長度不能超過容量**,容量一般是從slice的開始位置到底層數據的結尾位置。內置的len和cap函數分別返回slice的長度和容量。 ~~~ s := make([]int, 1, 3) fmt.Println(s) fmt.Printf("%p\n", s) s = append(s, 10) fmt.Println(s) fmt.Printf("%p\n", s) s = append(s, 10) fmt.Println(s) fmt.Printf("%p\n", s) s = append(s, 10) //當擴容后的容量超過已有的底層數組的容量后,引用的底層數組變了 fmt.Println(s) fmt.Printf("%p\n", s) //可以看到底層的地址變了 ~~~ ``` [0] 0xc00000a380 [0 10] 0xc00000a380 [0 10 10] 0xc00000a380 [0 10 10 10] 0xc00000e2a0 ``` 多個slice之間可以共享底層的數據,并且引用的數組部分區間可能重疊。 ## make 內置的make函數創建一個指定元素類型、長度和容量的slice。容量部分可以省略,在這種情況下,容量將等于長度。 ~~~ make([]T, len) make([]T, len, cap) // same as make([]T, cap)[:len] ~~~ 在底層,make創建了一個匿名的數組變量,然后返回一個slice;**只有通過返回的slice才能引用底層匿名的數組變量**。在第一種語句中,slice是整個數組的view。在第二個語句中,slice只引用了底層數組的前len個元素,但是容量將包含整個的數組。額外的元素是留給未來的增長用的。 ## 注意 1. 應該禁止slice進行==的操作符. 2. 所有的Go語言函數以相同的方式對待nil值的slice和0長度的slice。
                  <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>

                              哎呀哎呀视频在线观看