f(node)完成啥功能?
来源:8-1 defer调用

qq_未来为我而来_0
2019-05-02
func (node *Node) Traverse() {
node.TraverseFunc(func(n *Node) {
n.Print()
})
fmt.Println()
}
func (node *Node) TraverseFunc(f func(*Node)) {
if node == nil {
return
}
node.Left.TraverseFunc(f)
f(node)
node.Right.TraverseFunc(f)
}
f(node)完成啥功能?
写回答
1回答
-
ccmouse
2019-05-12
对于TraverseNode来说,它不知道f是干啥的。它只是负责对于所有的节点都调用一次f。它把遍历算法和具体对于每个节点做什么进行了区分。
对于Traverse来说,f就是起到了打印的作用。00
相似问题