Go slice的容量和長度

來源:互聯網
上載者:User

標籤:

package mainimport (  "fmt")func main() {  a := []int{1,2,3,4}  fmt.Println("a:",len(a), cap(a), a)  b := [10]int{1,2,3,4}  fmt.Println("b:",len(b), cap(b), b)  c := make([]int, 4, 10)  fmt.Println("c:",len(c), cap(c),c)  d := b[:5]  fmt.Println("d:",len(d), cap(d),d)  e := append(d,5) //append後d的容量不變  e[0] = 100//沒超出底層數組的容量,因此e和d都指向同一個數組,修改e會影響d  fmt.Println("d after append:",len(d), cap(d),d)  fmt.Println("e:",len(e), cap(e),e)}

執行結果:

a: 4 4 [1 2 3 4]

b: 10 10 [1 2 3 4 0 0 0 0 0 0]

c: 4 10 [0 0 0 0]

d: 5 10 [1 2 3 4 0]

d after append: 5 10 [100 2 3 4 0]

e: 6 10 [100 2 3 4 0 5]

Go slice的容量和長度

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.