给出以下代码:

type NodeType int

const (
    NodeText NodeType = iota
    NodeAction
    // etc..
)

type ListNode struct {
    NodeType
}

NodeType结构中包括ListNode类型作为匿名字段的解释是什么?它可以用作结构的某种标识符吗?

最佳答案

对于此类匿名或嵌入式字段,每个The Go Programming Language Specification



您可以编写以下内容:

var node1 ListNode
node1.NodeType = NodeText

或者
node2 := ListNode{NodeText}

或者
node3 := ListNode{
    NodeType: NodeText,
}

这三个都创建相同的值。

08-28 00:42