Golang常量2d数组语法失败



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

而且,语法很繁琐。

根据规格:

常数

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

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

最新更新