老师你好,之前讲数组和结构体的时候,说是指针变量可以直接使用,请问queue.go文件里这个方法为什么不可以直接head := q[0],而必须要(*q)[0]呢
func (q *Queue) Pop() int{
head := (*q)[0]
*q = (*q)[1:]
return head
}
在讲数组和结构体的时候,说是go可以自动转换的,比如4-1章节里
func (node *Node) SetValue(value int){
if node == nil{
fmt.Println("setting value to nil node, Igored")
}
node.Value = value //这里直接使用node.value而没有使用(*node).value
}
//在main方法里代码如下:
var root tree.Node
fmt.Println("===test")
root.SetValue(1)
fmt.Println(root.Value)