2013-07-26 3 views
2

Я получаю сообщение об ошибке: undefined reflect.MakeFunc .. Почему так?Функционирование отражения.MakeFunc в Go-Lang

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)) 
} 
+0

Go 1.0 или Go 1.1? – Volker

ответ

Смежные вопросы