老师,我不太清楚golang里面的函数结构,看得很懵

来源:7-3 函数式编程例二

慕虎7218586

2018-07-04

func (node *Node) TraverseFunc(f func(node *Node))  {
  if node==nil{
     return
  }

  node.Left.TraverseFunc(f)
  f(node)
  node.Right.TraverseFunc(f)
}


这个函数里面传入参数是什么,传出参数是什么?求指导,谢谢!

写回答

1回答

ccmouse

2018-07-05

func (node *Node) TraverseFunc(f func(node *Node))
第一个*Node,是函数的接收者,代表这个函数是给*Node用的,比如node1.TraverseFunc
那么这个TraverseFunc除了接收者,还剩下一个参数,名字是f,f的类型是函数,什么样的函数呢? func(node *Node)类型的函数

1
0

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

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

5995 学习 · 1909 问题

查看课程