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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用帶有兩個[] byte切片或數組的Go append?

如何使用帶有兩個[] byte切片或數組的Go append?

Go
皈依舞 2021-05-06 13:13:59
我最近嘗試在Go中附加兩個字節數組切片,并遇到了一些奇怪的錯誤。我的代碼是:one:=make([]byte, 2)two:=make([]byte, 2)one[0]=0x00one[1]=0x01two[0]=0x02two[1]=0x03log.Printf("%X", append(one[:], two[:]))three:=[]byte{0, 1}four:=[]byte{2, 3}five:=append(three, four)錯誤是:cannot use four (type []uint8) as type uint8 in appendcannot use two[:] (type []uint8) as type uint8 in append考慮到Go切片的魯棒性應該不是問題:http://code.google.com/p/go-wiki/wiki/SliceTricks我在做什么錯,我應該如何追加兩個字節數組?
查看完整描述

2 回答

?
婷婷同學_

TA貢獻1844條經驗 獲得超8個贊

append()接受一個類型的切片[]T,然后接受該切片成員類型的可變數目的值T。換句話說,如果將a[]uint8作為切片傳遞給append()它,則它希望每個后續參數都是a uint8。

解決方案是使用slice...語法來傳遞切片來代替varargs參數。您的代碼應如下所示

log.Printf("%X", append(one[:], two[:]...))

five:=append(three, four...)


查看完整回答
反對 回復 2021-05-10
  • 2 回答
  • 0 關注
  • 454 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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