Я пытаюсь понять функции более высокого порядка в Go.У меня есть следующая программа:
package main
import "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 )
Я ожидаю вывода:
«Привет, Дэвид»