我相信 Go 规范存在一个小问题。以下抱怨数组文字不可寻址: print([4]int{2,3}[:2])我知道为什么从函数返回的数组是不可寻址的(例如错误寻址函数的返回切片),但为什么数组字面量像[4]int{2,3}不可寻址?特别是当切片和字符串文字是 - 例如这些工作正常: print([]int{2,3,0,0}[:2]) print("2300"[:2])此外,数组文字似乎是可寻址的,因为&[4]int{42,43}它是一个有效的表达式。我知道我可以用一片 print([]int{2,3,0,0}[:2])但是,如果我希望容量(数组长度)成为编译时常量怎么办。 const maxLength = 4 ... print([maxLength]int{2,3}[:2])是的,我可以分配给一个临时数组变量,但我为什么需要呢?
- 1 回答
- 0 关注
- 88 浏览
添加回答
举报
0/150
提交
取消