我想声明一个常量的golang 2d数组(不是切片),但我看不出这个问题上的其他golang评论我无法理解。
type fooT [1][1]float64
const BAR fooT = {[1]float64 {.01}}
给出错误fubar.go:5: syntax error: unexpected {
。但以下编译很好:
type fooT [1][1]float64
var BAR = fooT {[1]float64 {.01}}
首先,我不明白为什么我需要冗余地重新声明底层数组,看起来golang编译器确实知道类型,因为如果我改变它就会出错。但是,为什么我不能使这个数组成为常量?它是R / O,而不是全球性的。
而且,语法很麻烦。
答案 0 :(得分:2)
来自specs:
常量
有布尔常量,符文常量,整数常量,浮点常数,复数常量和字符串常量。
IOW,在Go no {struct,array,slice,map,interface,pointer}常量存在。