コードスニペットは次のとおりです。golang(* interface {})(nil)がnilかどうか
package main
import (
"fmt"
"reflect"
)
func main() {
a := (*interface{})(nil)
fmt.Println(reflect.TypeOf(a), reflect.ValueOf(a))
var b interface{} = (*interface{})(nil)
fmt.Println(reflect.TypeOf(b), reflect.ValueOf(b))
fmt.Println(a == nil, b == nil)
}
以下のような出力: *interface {} <nil> *interface {} <nil> true false
のでvar interface{}
は、なぜ、:=
は異なるのですか?
ニースの答えは、これを知らなかった。私はあなたの説明を理解するのに苦労したと言っています...あなたのリンクから最初の2つの段落を引用することができます、それはあなたの答えに価値を追加します! – alexbt
編集中、ありがとう@alexbt – zzn