methods - 带有方法/函数的 Golang 逗号

标签 methods go comma

关闭。这个问题是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/

相关文章:

java - 如何使用Java中的PrintWriter将逗号打印到.csv文件?

java - 参数列表中引用变量占位符的术语

mysql - 两个日期列和一个日期范围,典型查询?

Java:将 List<String> 转换为方法(String、String、String)的输入

dictionary - Golang 多个计时器与 map+channel+mutex

mysql - 在字段中用逗号选择?

csv - PySpark:如何用逗号将列指定为十进制

Swift 4 - 扩展中的私有(private)方法

xml - 在 Go 中解析 XML 时处理命名空间

performance - 将 MeiYan 哈希函数移植到 Go