Go-Lang 中reflect.MakeFunc 的功能

我收到一个错误: undefined reflect.MakeFunc .. 为什么会这样?


package main


import (

        "fmt"

        "reflect"

)


func main() {

        swap := func(in []reflect.Value) []reflect.Value {

                return []reflect.Value{in[1], in[0]}

        }

        makeSwap := func(fptr interface{}) {

                fn := reflect.ValueOf(fptr).Elem()

                fn.Set(reflect.MakeFunc(fn.Type(), swap))

        }

        var intSwap func(int, int) (int, int)

        makeSwap(&intSwap)

        fmt.Println(intSwap(0, 1))

        var floatSwap func(float64, float64) (float64, float64)

        makeSwap(&floatSwap)

        fmt.Println(floatSwap(2.72, 3.14))

}


慕工程0101907
浏览 407回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go