常用的二叉树结构:
type TreeNode struct {
value string
Left *TreeNode
Right *TreeNode
}
如果写成
type TreeNode struct {
value string
Left TreeNode
Right TreeNode
}
就会报错
invalid recursive type 'TreeNode'
因为TreeNode嵌套TreeNode无限递归,编译器将无法确定TreeNode结构的大小,而指针的大小是已知的,所以在用指针编译器就可以计算出TreeNode的大小。