我想动态生成一个字节片并用 aa 值预填充它们。在这种情况下,如果难度为 3,我想生成[]byte("000").
我有下面的工作代码,有没有办法将其优化为一行代码?(即初始化它并且不必运行 for 循环并手动设置每个元素)?
var targetPrefix []byte = make([]byte, difficulty)
for i := 0; i < difficulty; i++ {
targetPrefix[i] = 48 // UTF8 encoding for "0"
}
Run Code Online (Sandbox Code Playgroud)
我想这取决于你所说的优化是什么意思。如果你指的是性能,那么不。最终,当您“请求”一些内存时,必须对其进行迭代以设置值。在使用malloc. 如果你查看内存的内容,它可能是一堆 0,但也可能是一堆随机值。
然而,如果您只想编写更少的代码并利用已经存在的东西,您可以看看bytes.Repeat:
targetPrefix := bytes.Repeat([]byte("0"), difficulty)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1121 次 |
| 最近记录: |