猿问
什么时候在Go中使用匿名函数?
Go支持匿名函数/闭包,这使我想起了Python中的Lambda,什么时候在代码中使用它们很理想?
守着星空守着你
浏览 210
回答 2
2回答
LEATH
jnml已经给出了匿名函数有用的一种情况。我补充说,当您只需要传递一个不会在其他地方调用的函数时,就可以使用它们:Goroutine发射:go func() { ...}()将一些代码传递给函数:http.Handle("/ws", websocket.Handler(func(ws *websocket.Conn) { ...
0
0
0
开满天机
我认为函数字面量是最有用的,因为它们是闭包。考虑例如:type handler func()func HanldeSomething(h handler) { //... h() // ...}func Elsewhere() { var foo int HandleSomething(handler(func(){ fmt.Println("debug: foo in Elsewhere is", foo) }))}这样,在h调用when时HandleSomething,可以使用的上下文说/做某事Elsewhere。在许多情况下这很方便。
0
0
0
随时随地看视频
慕课网APP
相关分类
Go
我要回答