Golang常量2d数组语法失败

时间:2015-03-31 09:26:12

标签: go

我想声明一个常量的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,而不是全球性的。

而且,语法很麻烦。

1 个答案:

答案 0 :(得分:2)

来自specs

  

常量

     

有布尔常量,符文常量,整数常量,浮点常数,复数常量和字符串常量。

IOW,在Go no {struct,array,slice,map,interface,pointer}常量存在。