2 回答

TA贡献1830条经验 获得超9个赞
如果您决定创建一个匿名函数,那么
listener, _ := gostream.Listen(host1, p2phttp.DefaultP2PProtocol)
defer listener.Close()
go func() {
http.HandleFunc("/hello", func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("Hi!"))
})
server := &http.Server{}
server.Serve(listener)
}()
命名函数:
listener, _ := gostream.Listen(host1, p2phttp.DefaultP2PProtocol)
defer listener.Close()
go Greet()
func Greet() {
http.HandleFunc("/hello", func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("Hi!"))
})
server := &http.Server{}
server.Serve(listener)
}

TA贡献1887条经验 获得超5个赞
您忘记调用(调用)匿名函数。因此,错误:go 中的表达式必须是函数调用。
go func() { fmt.Prinln("Im an IIFE") }() // note the parenthesis
这称为立即调用函数表达式 (IIFE)。
- 2 回答
- 0 关注
- 102 浏览
添加回答
举报