<p>I want to set an array of bytes. I'm writing this:</p>
<pre><code>var FooArr [size]byte = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
</code></pre>
<p>Goland tells me "expression or string literal expected", what am i doing wrong?</p>
<p>Thanks!</p>
<hr/>**评论:**<br/><br/>klauspost: <pre><p>You can either do this:</p>
<pre><code>var foo [16]byte = [...]byte { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
</code></pre>
<p>or this (nicer)</p>
<pre><code>var foo = [...]byte { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
</code></pre></pre>8lall0: <pre><p>Thanks!</p></pre>nevyn: <pre><p>Note that the second version doesn't tell the programmer (reader) what the size of the array is. In this case you can solve that by having 4 groups of 4 values, but in general it can be better to add the extra "[16]byte" even if you think it looks uglier.</p></pre>nevyn: <pre><p>Note that <a href="https://tour.golang.org/basics/12" rel="nofollow">zero values</a> are special in golang, so both:</p>
<pre><code>var foo1 [16]byte = [16]byte{0}
var foo2 [16]byte
</code></pre>
<p>...will also work.</p></pre>kl0nos: <pre><p>FooArr := []byte{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }</p></pre>
这是一个分享于 的资源,其中的信息可能已经有所发展或是发生改变。
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码`
- 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传