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)

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]
- 2 回答
- 0 關(guān)注
- 152 瀏覽
添加回答
舉報