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

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

有沒有辦法生成一段用特定字符填充的字節(jié)?

有沒有辦法生成一段用特定字符填充的字節(jié)?

Go
心有法竹 2023-05-08 15:15:03
我想動態(tài)生成一段字節(jié)并用一個值預(yù)填充它們。在這種情況下,如果難度是 3,我想生成[]byte("000").我有下面的工作代碼,有沒有辦法把它優(yōu)化成一個單行代碼?(即初始化它而不必運行 for 循環(huán)并手動設(shè)置每個元素)?var targetPrefix []byte = make([]byte, difficulty)for i := 0; i < difficulty; i++ {  targetPrefix[i] = 48 // UTF8 encoding for "0"}
查看完整描述

2 回答

?
素胚勾勒不出你

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

我想這取決于你所說的優(yōu)化是什么意思。如果您指的是性能,那不是真的。最終,當(dāng)您“請求”一些內(nèi)存時,必須對其進行迭代以設(shè)置值。在使用malloc.?如果你查看內(nèi)存的內(nèi)容,它可能是一堆 0,但它很可能是一堆隨機值。

但是,如果您只想編寫更少的代碼并利用已經(jīng)存在的東西,您可以看看bytes.Repeat:

targetPrefix?:=?bytes.Repeat([]byte("0"),?difficulty)


查看完整回答
反對 回復(fù) 2023-05-08
?
UYOU

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

在 Go 中,將您的代碼編寫為:


package main


import "fmt"


func main() {

    difficulty := 7

    targetPrefix := make([]byte, difficulty)

    for i := range targetPrefix {

        targetPrefix[i] = '0'

    }

    fmt.Println(targetPrefix)

}

游樂場:https://play.golang.org/p/QrxEvsnRKMC


輸出:


[48 48 48 48 48 48 48]

或者,同樣在 Go 中,寫:


package main


import (

    "bytes"

    "fmt"

)


func main() {

    difficulty := 7

    targetPrefix := bytes.Repeat([]byte{'0'}, difficulty)

    fmt.Println(targetPrefix)

}

游樂場:https://play.golang.org/p/Setx4kXTo1_H


輸出:


[48 48 48 48 48 48 48]


查看完整回答
反對 回復(fù) 2023-05-08
  • 2 回答
  • 0 關(guān)注
  • 152 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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