结构体的传递有疑问
来源:4-4 使用内嵌来扩展已有类型

小鲁锅的进阶之路
2020-04-28
func (myNode *myTreeNode) postOrder() {
…
}
*myTreeNode是指针接收者,postOrder()是方法名
mynode是什么?
其次mynode已经是一个Node结构体,
为什么不可以写成left:=myNode.node.Left,外面为什么加上myTreeNode()?
写回答
1回答
-
ccmouse
2020-05-01
myNode是变量的名字,*myTreeNode是变量的类型。写在postOrder之前表示这是一个接收者变量。
加上myTreeNode()是因为myNode.node.Left的类型不是myTreeNode,是TreeNode,所以需要转换。
00
相似问题