给定以下代码:
type NodeType int
const (
NodeText NodeType = iota
NodeAction
// etc..
)
type ListNode struct {
NodeType
}
将 NodeType
类型作为匿名字段包含在 ListNode
结构中的解释是什么?它是否用作结构的某种标识符?
最佳答案
对于这样的匿名 或嵌入式字段,根据The Go Programming Language Specification ,
The unqualified type name acts as the field name.
在您的情况下,您可以编写以下内容:
var node1 ListNode
node1.NodeType = NodeText
或
node2 := ListNode{NodeText}
或
node3 := ListNode{
NodeType: NodeText,
}
三者创造相同的值(value)。
关于struct - const 值在匿名结构字段中的作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33681153/