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

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

初始化不變字節(jié)片的最佳方法

初始化不變字節(jié)片的最佳方法

Go
婷婷同學(xué)_ 2023-07-31 14:49:43
在 Go 中,您可以按如下方式初始化字節(jié)切片(在 Go Playground 上嘗試)package mainimport (? ? "fmt"? ? "encoding/hex")// doStuff will be called many times in actual application, so we want this to be efficientfunc doStuff() {? ? transparentGif := []byte("GIF89a\x01\x00\x01\x00\x80\x00\x00\xff\xff\xff" +? ? ? ? "\xff\xff\xff\x21\xf9\x04\x01\x0a\x00\x01\x00\x2c\x00\x00\x00\x00" +? ? ? ? "\x01\x00\x01\x00\x00\x02\x02\x4c\x01\x00\x3b\x00")? ? // This will be returned by a web service in actuality, but here we just hex dump it? ??? ? fmt.Printf("Your gif is\n%s\n", hex.Dump(transparentGif))}func main() {? ? doStuff()}在這種情況下,數(shù)據(jù)不需要更改,因此將其初始化為常量,靠近實際使用的函數(shù)會更好(并且希望更有效)。然而,Go 中不存在 const 切片這樣的東西。有沒有更有效的方法來做到這一點,同時保持較小的范圍?理想情況下,串聯(lián)和內(nèi)存分配僅完成一次。據(jù)我所知,我必須在函數(shù)作用域之外創(chuàng)建切片,然后將其作為參數(shù)傳遞,即擴大作用域。
查看完整描述

1 回答

?
慕仙森

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

聲明transparentGif為包級變量并在函數(shù)中使用該變量。


var transparentGif = []byte("GIF89a\x01\x00\x01\x00\x80\x00\x00\xff\xff\xff" +

        "\xff\xff\xff\x21\xf9\x04\x01\x0a\x00\x01\x00\x2c\x00\x00\x00\x00" +

        "\x01\x00\x01\x00\x00\x02\x02\x4c\x01\x00\x3b\x00")


func doStuff() {

    fmt.Printf("Your gif is\n%s\n", hex.Dump(transparentGif))

}

這確實向包范圍添加了一個聲明,但在其他方面卻很整潔。doStuff如果按照問題中的建議添加參數(shù),則調(diào)用者將被迫了解此詳細信息。


查看完整回答
反對 回復(fù) 2023-07-31
  • 1 回答
  • 0 關(guān)注
  • 101 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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