代碼段如下:golang(* interface {})(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{}
是從:=
不同,爲什麼呢?
不錯的答案,不知道這個。我不得不說,我很難理解你的解釋......你可以從你的鏈接引用前兩段,它會增加你的答案的價值!編輯 – alexbt
,感謝@alexbt – zzn