接收方
node通过值传递,就像其他参数一样,因此调用者看不到您在函数中所做的任何更改。如果要让函数修改函数外部存在的内容,则该函数需要处理指向该对象的指针。在您的情况下,
node是一个指针,但是您真正想要的是一个指向表示列表本身的对象的指针。例如:
package mainimport ( "fmt")type linkedListNode struct { data int next *linkedListNode}type linkedList struct { head *linkedListNode}// InsertList will insert a item into the listfunc (list *linkedList) InsertList(data int) { newHead := &linkedListNode{data, list.head} list.head = newHead}func main() { var list linkedList list.InsertList(4) fmt.Printf("node = %+vn", list.head) list.InsertList(7) fmt.Printf("node = %+vn", list.head)}


