请问如何才是函数通过指针修改结构体的正确姿势?

damao33 · · 891 次点击
为什么第一次add函数结束后root还是空的呢,不是在add里root=new (tree)了吗
#2
更多评论
var root *tree 这个是nil ,你没给root赋值,和你add方法没关系
#1
@damao33</a> 你在内部对root的赋值不会影响外部root,想要改变root指向,应该是\*root=XXX,但是你root为nil,无法做\*操作,你看下面这种 ``` func fn(root *Node) { *root = Node{value: 10} } func main() { var root *Node root = &Node{ value: 1, } fn(root) fmt.Println(root.value) }```
#3