golang 反射_golang原理篇- nil:接口类型和值类型的区别
生活随笔
收集整理的這篇文章主要介紹了
golang 反射_golang原理篇- nil:接口类型和值类型的区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
interface接口類型是golang的最重要的數據結構,底層是value和type組成,實現interface的struct的實例都能賦值給接口類型的變量,實現動態value的能力。type記錄value的類型。
int 3 的接口表示是(int, 3),接口的零值是 (nil, nil);就是說一個interface的nil是 type和value都是nil,所以會出現nil的interface和值的nil比較的時候永遠不等。
var i interface{} var p *int fmt.Println(p == nil) fmt.Println(i == nil) fmt.Println(i == p) i = p println(i != nil) // true fmt.Println(i.(*int) == nil)指針的零值是nil,可以通過反射將接口轉換成指針類型
總結
以上是生活随笔為你收集整理的golang 反射_golang原理篇- nil:接口类型和值类型的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python操作json_如何使用Pyt
- 下一篇: python自动点击脚本_[Python