运行 go-libp2p-http 示例时的错误
Bugs when running the example of go-libp2p-http
问题出在go func。报错信息是expression in go must be function call
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)
}
错误是
命令行参数
.\sever.go:18:5: go中的表达式必须是函数调用
您忘记调用(调用)匿名函数。因此,错误: expression in go must be function call.
go func() { fmt.Prinln("Im an IIFE") }() // note the parenthesis
这称为立即调用函数表达式 (IIFE)。
如果你决定做一个匿名函数,那么
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)
}
问题出在go func。报错信息是expression in go must be function call
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)
}
错误是
命令行参数
.\sever.go:18:5: go中的表达式必须是函数调用
您忘记调用(调用)匿名函数。因此,错误: expression in go must be function call.
go func() { fmt.Prinln("Im an IIFE") }() // note the parenthesis
这称为立即调用函数表达式 (IIFE)。
如果你决定做一个匿名函数,那么
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)
}