老师 打印提示:print with receiver pRoot (type **treeNode) requires explicitdereference

来源:4-1 结构体和方法

大潘_Panther

2019-12-01

type treeNode struct {
value int
left,right *treeNode
}
func (node treeNode) print(){
fmt.Print(node.value)
}
func (node *treeNode) setValue(value int){
node.value = value
}
func main() {
root := new(treeNode)
root.value = 3
pRoot := &root
pRoot.print()
//pRoot.setValue(300)
}

写回答

1回答

ccmouse

2019-12-04

它说了proot是**treeNode,注意有两个*。这是指针的指针。我们用new函数返回的root本身就是*treeNode指针类型

0
1
大潘_Panther
明白了 有多种声明结构体的方式 new函数 &{}结果都是返回指针 {}返回的是 结构体内容 谢谢老师
2019-12-23
共1条回复

Google资深工程师深度讲解Go语言 由浅入深掌握Go语言

语法+分布式爬虫实战 为转型工程师量身打造

5995 学习 · 1909 问题

查看课程