Skip to content

20210127关于golang的nil(1)

ziyouzy edited this page Jan 27, 2021 · 1 revision

先上文章:
https://www.cnblogs.com/lurenq/p/12013168.html
nil似乎是一种内置(复杂)数据类型的值,存在地位等同于append,copy这类内置函数,但是他又和int,byte这些简单数据类型不同,他更像是以十六进制数0x0做为底层进行了一次封装而成的,同时他更具有值的属性,更像是某种内置数据类型的值
和他最接近的其实是 _,不过:
_可以作为变量“被其他变量赋值”(sl := []int{1,2,3}; _ = sl)
nil则只能作为变量“赋值给其他变量”(sl := []int{1,2,3}; sl = nil)
string类型的控制为"",这个设计其实挺好的,不给整体设计逻辑与使用思路添乱

解引用全靠他了,有点神似c++中delete一个之前创建过的指针数据类型的操作,其实拿两者做下对比也是很有意义的,单开篇文章聊聊这个

Clone this wiki locally