有关于最下面:pRoot 第一个setValue(200)的时候, 演示了 pRoot 是 nil 的情况。老师可否麻烦讲的详细些~
来源:4-1 结构体和方法

Leo_2000
2021-06-28
Q1
有关于最下面:
pRoot 第一个setValue(200)的时候,
演示了 pRoot 是 nil 的情况。老师可否麻烦讲的详细些呢?
抱歉老师
这边方法来方法去
指针来指针去
取地址来取地址去
思想有点混乱了 …
Q2
请问以下的理解是否正确恰当呢?
xxx.yyy() 最简单的理解就是,xxx 作为 yyy() 方法的参数 是吗 ?
//pRoot := &root
//注意 * &
var pRoot *treeNode // nil
root.print() // print 100
/* 第一个setValue(200)的时候,
我们演示了 pRoot 是 nil 的情况。
我们这个判断抓住的是setValue(200)这一句的错。
Setting value to nil node. Ignored. */
pRoot.setValue(200)
pRoot = &root // print
pRoot.setValue(300)
pRoot.print() // print 300
結果如下 ↓
node.value 100
Setting value to nil node. Ignored.
node.value 300
写回答
1回答
-
xxx.yyy() 最简单的理解就是,xxx 作为 yyy() 方法的参数 是吗 ?是的。这是非常关键的点。
所以这么理解的话,就相当于这个setValue有两个参数,第一个是node,第二个是value。当然,node是nil的话就进了这个if语句。
112021-07-13
相似问题