Выдержка из Законы отражения:
(Почему бы не fmt.Println(v)? Поскольку v — это Reflect.Value; нам нужно конкретное значение, которое оно содержит.)
Это меня смущает, потому что следующий код:
var x float64 = 3.4
var v = reflect.ValueOf(x)
fmt.Println("value of x is:", v)
y := v.Interface().(float64) // y will have type float64.
fmt.Println("interface of value of x is:", y)
Печатает тот же вывод:
значение х: 3,4
интерфейс значения x: 3.4
Это потому, что fmt
внутренне находит конкретное значение для отраженного v
?