将循环值作为函数参数传递

  • 本文关键字:函数 参数传递 循环 go
  • 更新时间 :
  • 英文 :


它说:(没有值(用作值,但我将循环值从一个切片传递给它!

package main
import "fmt"
func greet(n string) {
fmt.Printf("Hi, %vn", n)
}
func cycle(n []string, f func(string)) {
for i := 0; i < len(n); i++ {
fmt.Println(f(n[i]))
}
}
func main() {
cycle([]string{"John", "Marie"}, greet)
}

Go Playground 上的代码片段

我找到了解决方案:我应该直接调用函数,而不是在Println((内部。

package main
import "fmt"
func greet(n string) {
fmt.Printf("Hi, %vn", n)
}
func cycle(n []string, f func(string)) {
for i := 0; i < len(n); i++ {
f(n[i])
}
}
func main() {
cycle([]string{"John", "Marie"}, greet)
}

最新更新