func main() {var data *bytevar in interface{}fmt.Println(data, data =https://www.huyubaike.com/biancheng/= nil) // truefmt.Println(in, in == nil) // truein = datafmt.Println(in, in == nil) // false // data 值为 nil,但 in 值不为 nil}// 正确示例func main() {doIt := func(arg int) interface{} {var result *struct{} = nilif arg > 0 {result = &struct{}{}} else {return nil // 明确指明返回 nil}return result}if res := doIt(-1); res != nil {fmt.Println("Good result: ", res)} else {fmt.Println("Bad result: ", res) // Bad result: <nil>}}50.select可以用于什么常用于goroutine的完美退出 。
golang 的 select 就是监听 IO 操作,当 IO 操作发生时,触发相应的动作每个case语句里必须是一个IO操作,确切的说,应该是一个面向channel的IO操作 。
参考资料:公众号:晨梦思雨
经验总结扩展阅读
-
-
-
-
-
2023年9月14日做买卖黄道吉日 2023年农历七月三十做买卖吉日
-
-
-
39健康网|胆囊癌:远期疗效不如“胰腺癌”!劝告:这些高危人群不要忽略
-
结合springboot实现,这里对接的是easy版本,工具用的是IDEA,WebStrom 支付宝沙箱服务
-
-
宝宝在四柱神煞多少个是贵人?贵人就一定是吉神吗?出生怎幺样?
-
科技“元宇宙”虚拟偶像现身广州美沃斯,携维壹美「嘭嘭胶原」破松糙肌难题
-
美甲店|别再去美甲店了,最近这款“棉花”延长指甲火了,自己在家就能做
-
-
娱星儿|游戏《王者荣耀》,补完四刀就只能用Q或W,很容易缺蓝
-
跑步|早上跑步半小时,与晚上跑步一小时,有什么区别?很多人或有误解
-
-
婚姻 婚外的感情,到底能给我们带来什么?三个男人的经历告诉你本质
-
-