Golang 中作为参数的函数数组

Mat*_*ios 5 arrays function

如何将函数数组传递给我的主函数 Validate?我无法获得正确的语法

package main

import (
    "fmt"
)

func upper(input string) string {

    return "hola"
}

func Validate(spec string, validations []func(string) string) {

    for err, exec := range validations {
        fmt.Println(exec(spec))
    }
}



func main() {
    Validate("Hola", []func{upper})
}
Run Code Online (Sandbox Code Playgroud)

问候!

小智 10

这是使用切片参数的正确示例。在使用切片文字之前,您需要指定它的类型。

package main

import "fmt"

func upper(input string) string {
    return "hola"
}

func Validate(spec string, validations []func(string) string) {
    for _, exec := range validations {
        fmt.Println(exec(spec))
    }
}

func main() {
    Validate("Hola", []func(string) string{upper})
}
Run Code Online (Sandbox Code Playgroud)