从切片调用函数名并返回一个值

我想调用存储在切片中的多个函数名称。到目前为止,下面的代码片段有效,但我需要从这些函数返回一个值。不幸的是,我没有让它工作,因为我不知道调用这些函数并存储返回值。有任何想法吗?


这是我目前正在处理的代码:


package main


func A(x int) int {

    return x + 1

}


func B(x int) int {

    return x + 2

}


func C(x int) int {

    return x + 3

}


func main() {

    x := 10

    type fs func(x int) int


    f := []fs{A, B, C}


    fns := make([]func(), 3)


    for a, _ := range f {

        a := a

        fns[a] = func() {

            f[a](x)

        }

    }


    for _, f := range fns {

        f()

    }


}


BIG阳
浏览 86回答 1
1回答

缥缈止盈

你叫它...for a, _ := range f {        a := a        fns[a] = func() {            f[a](x)        // in this        }    }这里是游乐场
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go