20210104关键词整理:显示初始化,默认初始化 - ziyouzy/2021blog GitHub Wiki

显示初始化&默认初始化

显示初始化:var i int =1
默认初始化:var i int

对于golang来说声明、定义、默认初始化是一气呵成的,都会有默认值,也就是说“默认”进行了默认初始化

唯一比较特殊的是接口,但是可以理解成他同样是明、定义、默认初始化是一气呵成的,只不过初始化后的默认值(value)为nil,同时默认类型(type)同样为nil

和其他类型相比,其实逻辑上也差不多比如自定义一个string类型,初始化后的默认值为value ="",type=main.newString

或者可以理解成,无论哪种变量声明、定义、初始化都是一起合成的,只是这一套操作的结果并不是像原先的认知,只确定了一个值

而是确定了两个,一个是类型,一个是类型的值

接口的特殊之处在于,这两个值在刚刚初始化后都为nil