2 回答
TA贡献1786条经验 获得超13个赞
是的,您可以使用名称值对声明映射。您可以将变量声明与映射复合文字一起使用:
var env = map[string]int{
"key0": 10,
"key1": 398,
}
或带有复合文字的简短变量声明:
env := map[string]int{
"key0": 10,
"key1": 398,
}
短变量声明只能在函数中使用。变量声明可用于函数和包级别。
还要注意在 398 后面添加的“,”。
TA贡献1998条经验 获得超6个赞
是的,但您需要添加一个额外的 ' ,' ,并且在您的情况下是 a =( var env = map...) 。
下面是来自“ Go maps in action ”的一个例子:
commits := map[string]int{
"rsc": 3711,
"r": 2138,
"gri": 1908,
"adg": 912,
}
没有最后的“,”,你会得到:
syntax error: need trailing comma before newline in composite literal
请注意,在 Go 1.5(2015 年 8 月)中,对于地图文字,您将能够将文字用于地图键(而不仅仅是地图值)。
请参阅评论 2591并提交 7727dee。
map[string]Point{"orig": {0, 0}} // same as map[string]Point{"orig": Point{0, 0}}
map[Point]string{{0, 0}: "orig"} // same as map[Point]string{Point{0, 0}: "orig"}
- 2 回答
- 0 关注
- 168 浏览
添加回答
举报