我收到错误:未定义的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))
}
最佳答案
使用 Go 的发行版:http://play.golang.org/p/Rw4uBFlAyc
关于go - Go-Lang 中的reflect.MakeFunc 的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17882089/