第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

試圖了解如何在 Go 中重命名字節(jié)數(shù)組

試圖了解如何在 Go 中重命名字節(jié)數(shù)組

Go
德瑪西亞99 2022-10-17 17:11:25
我正在嘗試根據(jù)條件邏輯重新分配字節(jié)數(shù)組。我不明白我的選擇。這是代碼:s3Buffer, numBytes, err :=  DownloadS3File(event.S3Bucket, event.S3ObjectID, session)header, err = GetHeader(s3Buffer)var outBuffer []byteif HeaderIndicatesConversionNeeded(header) {    outBuffer, err = ConvertBuffer(s3Buffer, event.ObjectID)} else {    // outBuffer = s3Buffer or copy(outBuffer, s3Buffer) or outBuffer = *s3Buffer or ??}// use outBuffer...我需要讓 outBuffer 與 s3Buffer 相同,這是一個包含我下載的 s3 對象內(nèi)容的字節(jié)數(shù)組。復(fù)制命令似乎不合邏輯,但更直接。我已經(jīng)閱讀了幾天的 Go 教程,但我無法弄清楚這一點。我對 Go 很陌生,所以我可能會在這里做一些非常錯誤的事情,我承認。
查看完整描述

1 回答

?
jeck貓

TA貢獻1909條經(jīng)驗 獲得超7個贊

outBuffer = s3Buffer將復(fù)制切片標(biāo)頭,但不會復(fù)制實際數(shù)據(jù)。這是最快的并且完全沒問題,只要知道在這個賦值之后兩個變量都將指向相同的數(shù)據(jù),所以通過它們中的任何一個修改數(shù)據(jù)都會反映在另一個上。請參閱切片是否按值傳遞?

copy()如果您想將一個切片與另一個切片“分離”,這很有用。請注意,copy()還需要您預(yù)先分配目標(biāo)切片,因為它不再復(fù)制源中可用的內(nèi)容以及可以復(fù)制到目標(biāo)的內(nèi)容(它復(fù)制 和 的最小值len(src)len(dst)。有關(guān)詳細信息,請參閱為什么我不能使用 `copy()` 復(fù)制切片?

作為 的替代方法copy(),您可以使用內(nèi)置append()函數(shù)。它將元素附加到一個切片上,這些元素可能是另一個切片的元素;但是——不像copy()——append()在需要時負責(zé)空間分配。它看起來像:

outBuffer = append(outBuffer, s3Buffer...)

閱讀博客文章以了解有關(guān)切片的更多信息:

Go Slices:用法和內(nèi)部結(jié)構(gòu)

數(shù)組、切片(和字符串):“追加”的機制


查看完整回答
反對 回復(fù) 2022-10-17
  • 1 回答
  • 0 關(guān)注
  • 97 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號