出于好奇,为什么 golang
将类型说明符放在变量名之后,如下所示。必须?还是碰巧?
type person struct {
name string
age int
}
为什么不这样呢?恕我直言,它更自然,它保存了 type
关键字。
struct person {
string name
int age
}
最佳答案
我认为 Go 编程语言遵循以下原则:
- 声明以关键字开头,因此解析器可以通过单个标记先行实现(就像在 Pascal 中一样)
- 声明的其余部分遵循英语语法,省略了所有多余的单词(也像 Pascal 中一样,但关键字较少)
例子:
Frequency
类型是由string
索引的map
,映射到int
类型频率图[string]int
Point
类型是一个struct
,它有两个x
和y
类型的int
type Point struct { x, y int }
上面的句子更多地关注名称而不是类型,这是有道理的,因为名称传达了更多的含义。
如果我必须向新手程序员解释如何在 Go 中编写声明,我会让他们先用通俗易懂的英语描述它,然后删除所有甚至可能看起来多余的单词。
到目前为止,我没有发现这些规则有任何矛盾。
关于go - 为什么 golang 将类型说明符 "after"放在变量名中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40702062/