var str string 字符串初始化为""只能通过len(str)而不能通过nil判断
var i int int初始化为0 ,只能通过i == 0,而不能通过nil判断
var b bool 初始化为false,只能通过b == true ,而不能通过nil判断
var bb []byte 初始化为[],可以用len(bb) 或bb == nil ,而不能通过bb == ""判断
var c [1] int 初始化为[0]填充了默认值0,可以用len(c)或cap(c),而不能用 c== nil 或者c = ""判断
var d []string 初始化为[],可以用d == nil || len(d) > 0 || cap(len) > 0 ,而不能用d == ""判断
var e map[string]int 初始化为[],可以用e == nil || len(e) > 0 ,而不能用e == ""判断
var f interface{} 初始化为nil,可以用f == nil ,而不能用 f=="" ||len(f) > 0 判断
var g chan string 初始化为nil,可以用 g == nil ||len(g) > 0 || cap(g) > 0 ,而不能用g == ""判断
var h *string 初始化为nil,只能用h == nil 判断
nil支持的类型
var nil Type // Type must be a pointer, channel, func, interface, map, or slice type
struct{}这种不能用以上的判断
go常用的判断
最新推荐文章于 2024-04-11 11:19:19 发布