2 回答
TA贡献1827条经验 获得超9个赞
我想这取决于你所说的优化是什么意思。如果您指的是性能,那不是真的。最终,当您“请求”一些内存时,必须对其进行迭代以设置值。在使用malloc
. 如果你查看内存的内容,它可能是一堆 0,但它很可能是一堆随机值。
但是,如果您只想编写更少的代码并利用已经存在的东西,您可以看看bytes.Repeat:
targetPrefix := bytes.Repeat([]byte("0"), difficulty)
TA贡献1878条经验 获得超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 关注
- 106 浏览
添加回答
举报