关闭。这个问题是opinion-based .它目前不接受答案。
想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.
6年前关闭。
Improve this question
为什么我们允许在方法声明、参数列表或返回列表中的接收器末尾放置逗号。像这样:
func (ds *dasa,) yoooooolo (dsa dasa,) (dsaa dasa,)
为什么这是允许的?结尾处都是逗号吗?
最佳答案
Golang 允许在许多声明后使用尾随逗号。
这可能是语言设计者的一个明确的设计选择,以便更宽容不相关的语法错误;然而,只有他们可以解释他们的动机。
func (f *Foo,) Bar(x, y int,) (int, error,) { //...
f.Bar(1, 2, 3,)
xs := []int{1, 2, 3,}
事实上,在一些多行文字声明中,它需要尾随逗号(大概是为了简化元素的重新排序):
ys := []int{
1,
2, // <-- required comma.
}
m := map[string]int{
"foo": 1,
"bar": 2, // <-- required comma.
}
请注意
go fmt
命令会自动删除无关的、可选的尾随逗号。在构建代码之前,您应该始终运行该工具。
关于methods - 带有方法/函数的 Golang 逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29353429/