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

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                如果想增加切片的容量,我們必須創建一個新的更大的切片并把原分片的內容都拷貝過來。下面的代碼描述了從拷貝切片的 copy 函數和向切片追加新元素的 append 函數。 示例 7.12?[copy_append_slice.go](https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/examples/chapter_7/copy_append_slice.go) ~~~ package main import "fmt" func main() { sl_from := []int{1, 2, 3} sl_to := make([]int, 10) n := copy(sl_to, sl_from) fmt.Println(sl_to) fmt.Printf("Copied %d elements\n", n) // n == 3 sl3 := []int{1, 2, 3} sl3 = append(sl3, 4, 5, 6) fmt.Println(sl3) } ~~~ `func append(s[]T, x ...T) []T`?其中 append 方法將 0 個或多個具有相同類型 s 的元素追加到切片后面并且返回新的切片;追加的元素必須和原切片的元素同類型。如果 s 的容量不足以存儲新增元素,append 會分配新的切片來保證已有切片元素和新增元素的存儲。因此,返回的切片可能已經指向一個不同的相關數組了。append 方法總是返回成功,除非系統內存耗盡了。 如果你想將切片 y 追加到切片 x 后面,只要將第二個參數擴展成一個列表即可:`x = append(x, y...)`。 **注意**: append 在大多數情況下很好用,但是如果你想完全掌控整個追加過程,你可以實現一個這樣的 AppendByte 方法: ~~~ func AppendByte(slice []byte, data ...byte) []byte { m := len(slice) n := m + len(data) if n > cap(slice) { // if necessary, reallocate // allocate double what's needed, for future growth. newSlice := make([]byte, (n+1)*2) copy(newSlice, slice) slice = newSlice } slice = slice[0:n] copy(slice[m:n], data) return slice } ~~~ `func copy(dst, src []T) int`?copy 方法將類型為 T 的切片從源地址 src 拷貝到目標地址 dst,覆蓋 dst 的相關元素,并且返回拷貝的元素個數。源地址和目標地址可能會有重疊。拷貝個數是 src 和 dst 的長度最小值。如果 src 是字符串那么元素類型就是 byte。如果你還想繼續使用 src,在拷貝技術后執行?`src = dst`。 **練習 7.9** 給定?`slice s[]int`?和一個 int 類型的因子,擴展 s 使其長度為?`len(s) * factor`。 **練習 7.10** 用順序函數過濾容器:s 是前 10 個整形的切片。構造一個函數 Filter,第一個參數是 s,第二個參數是一個?`fn func(int) bool`,返回滿足函數 fn 的元素切片。通過 fn 測試方法測試當整型值是偶數時的情況。 **練習 7.11** 寫一個函數 InsertStringSlice 將切片插入到另一個切片的指定位置。 **練習 7.12** 寫一個函數 RemoveStringSlice 將從 start 到 end 索引的元素從切片 中移除。
                  <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>

                              哎呀哎呀视频在线观看