问题演示
这里演示实际项目中可能出现的场景,IRedisCon是接口,RedisCon是接口的实现,代码中通过getRedisCon()方法获取redis连接对象
|
|
运行代码后发现redisCon始终不等于nil,这就是go语言的一个深坑—interface与nil
分析
我们就接口变量与赋予接口变量的值做以下实验,看看判定结果如何
|
|
解决方案
|
|
未完待续—这里引发出一个实践上的思考: go方法返回具体值好还是返回接口更好?
参考资料
https://studygolang.com/articles/10635
https://medium.com/@mangatmodi/go-check-nil-interface-the-right-way-d142776edef1