我是 Golang 的忠实粉丝,对 Go 的语法设计非常满意。作为语法哲学的一部分,我们有一个规则如下:如果实际上不需要的话,省略一些东西(关键字、字符等)。
出于这个原因,而不是写多余的冒号:
for ; sum < 1000; {
sum += sum
}
Run Code Online (Sandbox Code Playgroud)
你允许简单地说:
for sum < 1000 {
sum += sum
}
Run Code Online (Sandbox Code Playgroud)
注意我们如何省略多余的分号
还有很多其他情况下,语法得到了极大的简化。
但是struct
当我们定义类型时呢?
type Person struct {
name string
}
Run Code Online (Sandbox Code Playgroud)
为什么我们需要把 struct
关键字这里?关键字是确定意图,阐明可用选项的确切选择,以便编译器知道如何正确地完成他的工作。
如果我们简单地说:是否会不清楚和模棱两可:
type Person {
name string
}
Run Code Online (Sandbox Code Playgroud)
??
我相信
struct
在上面的例子中有一个含义,因为在没有struct
关键字的类型定义时编译器会失败。
请向我解释(并提供链接)我们还可以使用什么来代替struct
定义某种类型时。
请列出我们想要向编译器澄清的可用选项,即类型名称后大括号中的内容完全是结构的一部分,而不是其他内容(还有什么?)。
谢谢。
这不是多余的。您可以从现有类型创建类型:
type MyType int
type MyType string
Run Code Online (Sandbox Code Playgroud)
或接口:
type Stringer interface {
String() string
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
797 次 |
最近记录: |