亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么同時append3個值后,cap會變成6呢? len = 5,cap = 6,slice = [0 1 2 3 4]

package?main

import?"fmt"

func?main(){
???var?n?[]int
???printslice(n)

???n?=?append(n,0)
???printslice(n)

???n?=?append(n,1)
???printslice(n)

??
????n?=?append(n,2,3,4)
??????printslice(n)

???n1?:=?make([]int,len(n),(cap(n))*2)
???copy(n1,n)
???printslice(n1)

}

func?printslice(x?[]int){
???fmt.Printf("len?=?%d,cap?=?%d,slice?=?%d\n",len(x),cap(x),x)
???
???len?=?0,cap?=?0,slice?=?[]
???len?=?1,cap?=?1,slice?=?[0]
???len?=?2,cap?=?2,slice?=?[0?1]
???len?=?5,cap?=?6,slice?=?[0?1?2?3?4]
???len?=?5,cap?=?12,slice?=?[0?1?2?3?4]


正在回答

1 回答

可以看下這篇文章, 有詳細解析 https://www.cppentry.com/bencandy.php?fid=78&aid=216871&page=1

0 回復 有任何疑惑可以回復我~
#1

qq_慕圣411555 提問者

謝謝~~
2019-04-20 回復 有任何疑惑可以回復我~
#2

tom_0

這個確實講得很清楚。但誰說 GO 很簡單的?真的很簡單?
2019-05-02 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Go語言第一課
  • 參與學習       108029    人
  • 解答問題       153    個

Go語言入門教程,編程之必備知識擴散,打好Go語言編程基礎

進入課程

為什么同時append3個值后,cap會變成6呢? len = 5,cap = 6,slice = [0 1 2 3 4]

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號