我想了解 Go 中的高階函數。我有以下程序:package mainimport "fmt"func caller(foo func(string) string) { result := foo("David") fmt.Println(result)}bar := func(name string) string { return "Hello " + name}func main(){ caller(bar)}當我運行它時:去運行 higher_order_functions.go它給出了以下錯誤:# command-line-arguments./higher_order_functions.go:10:1: syntax error: non-declaration statement outside function body./higher_order_functions.go:11:5: syntax error: unexpected return, expecting )我期待輸出:“你好大衛”
2 回答

鴻蒙傳說
TA貢獻1865條經驗 獲得超7個贊
短變量聲明在函數體之外不起作用,
您的問題的有效解決方案可能如下所示,
package main
import "fmt"
func main() {
? ? caller(bar)
}
func caller(foo func(string) string) {
? ? result := foo("David")
? ? fmt.Println(result)
}
func bar(s string) string {
? ? return "Hello " + s
}
- 2 回答
- 0 關注
- 118 瀏覽
添加回答
舉報
0/150
提交
取消