It looks, the fmt package makes some special handling for reflect.Value:
package main
import "reflect"
import "fmt"
func main() {
var v1 = reflect.ValueOf(0)
var p1 = &v1
var v2 = 0
var p2 = &v2
var v3 interface{} = 0
var p3 = &v3
fmt.Println(p1) // <int Value>
fmt.Println(p2) // 0xc0000b6020
fmt.Println(p3) // 0xc00009e220
}
On Friday, February 26, 2021 at 1:42:32 AM UTC-5 [email protected] wrote:
> What I mean is
>
> fmt.Println(v3)
>
> and
>
> fmt.Println(v3.Elem())
>
> print the same thing. Is it an intended design?
>
> On Thursday, February 25, 2021 at 11:11:52 PM UTC-5 Kurtis Rader wrote:
>
>> On Thu, Feb 25, 2021 at 8:01 PM [email protected] <[email protected]>
>> wrote:
>>
>>>
>>> https://play.golang.org/p/-GZajVGPWYv
>>>
>>
>> You need to clarify your question. I don't see any obvious problem with
>> the output of your program. The reflect.Value.Elem() call is defined to
>> return a reflect.Elem object. But that observation might be irrelevant
>> since you have not clearly stated the problem.
>>
>> --
>> Kurtis Rader
>> Caretaker of the exceptional canines Junior and Hank
>>
>
--
You received this message because you are subscribed to the Google Groups
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/golang-nuts/4d5a2649-535e-466c-ae9e-a1797a7e9225n%40googlegroups.com.