Выдержка из Законов отражения :
(Почему бы не fmt.Println (v)? Потому что v является отражением. Значение; нам нужно конкретное значение, которое оно содержит.)
Это смущает меня, потому что следующий код:
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)
Печатает тот же вывод:
значение x равно: 3,4
интерфейс значения x: 3.4
Это потому, что fmt
внутренне находит конкретное значение для отраженного v
?