如何在Go中声明常量map?
大家好!我刚开始学习Go,遇到了一个问题。我需要声明一个map,其值在程序执行期间不应改变。本质上,它应该是一个常量。
在其他语言中,例如C++或Java,可以使用`static final`或`const`。在Go中,我知道有关键字`const`,但当我尝试用它声明map时,编译器会报错。
以下是我尝试过的代码:
```go
const myMap = map[string]int{
"apple": 5,
"banana": 3,
}
```
编译器提示:`const initializer map[string]int{...} is not a constant`。我理解Go对常量要求严格,但如何声明一个不可变的map呢?我需要这个map在程序的不同部分都可访问,但没有人能修改它(添加/删除元素或更改值)。
我听说可以使用初始化函数或将map包装在结构体中,但不知道在Go社区中哪种方法被认为是正确的。请指教,谢谢!