我是 Go 的新手,正在尝试实现一个非常简单的链表。目前,在递归遍历列表时,如果 node.next 为 nil/unset,我试图跳出 for 循环,但 if 条件永远不会满足。我只能假设该值不是 nil,而是某种指向空 Node 结构类型的指针,但我不知道如何评估它。这是我的代码,任何帮助将不胜感激:
package main
import "fmt"
type Node struct {
data string
next *Node
}
func PrintList(node *Node) {
for {
fmt.Println(node.data)
if node.data == nil {
break
} else {
PrintList(node.next)
}
}
}
func main() {
node3 := &Node{data: "three"}
node2 := &Node{data: "two", next: node3}
node1 := &Node{data: "one", next: node2}
PrintList(node1)
}
翻翻过去那场雪
相关分类