作为Golang中的参数的函数数组

时间:2018-06-18 15:38:49

标签: 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})
}

问候!

1 个答案:

答案 0 :(得分:1)

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

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(string) string{upper})
}