![Go语言开发实战(慕课版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/52/28438052/b_28438052.jpg)
上QQ阅读APP看书,第一时间看更新
2.1.2 变量声明
变量声明有多种形式,未初始化的标准格式如下所示。
![](https://epubservercos.yuewen.com/7094E9/16221441004999606/epubprivate/OEBPS/Images/51578-0029-0047.jpg?sign=1739341460-RBRbPIznzV2qAoJpeEBgdRHMKN9VqRzS-0-40bb22b380c5f124d3a8152d1eedd362)
批量声明未初始化的变量,不需要每行都通过var关键字声明,具体语法格式如下所示。
![](https://epubservercos.yuewen.com/7094E9/16221441004999606/epubprivate/OEBPS/Images/51578-0029-0048.jpg?sign=1739341460-VojOMNTyPpnE2VVjYHkIn2SillzDh8Ww-0-4dae51299457e02596d5dca3b0a15775)
未初始化变量的默认值有如下特点。
• 整型和浮点型变量默认值:0。
• 字符串默认值为空字符串。
• 布尔型默认值为false。
• 函数、指针变量、切片默认值为nil。
初始化变量的标准格式如下。
![](https://epubservercos.yuewen.com/7094E9/16221441004999606/epubprivate/OEBPS/Images/51578-0029-0049.jpg?sign=1739341460-xWO9x0SVFuJKmRkXgFhI9v1ntqQvEJ1X-0-779a84e17fcb5708e60d69ce79d43739)
初始化变量的简短声明格式(短变量声明格式)如下。
![](https://epubservercos.yuewen.com/7094E9/16221441004999606/epubprivate/OEBPS/Images/51578-0030-0050.jpg?sign=1739341460-4ISMuIIcdiwFhtLmOCm3GhyUF6GkQEjF-0-d9bd34ef9fa268cb301019f7580e9026)
使用 := 赋值操作符可以高效地创建一个新的变量,称为初始化声明。声明语句省略了 var 关键字,变量类型将由编译器自动推断。这是声明变量的首选形式,但是它只能被用在函数体内,而不可以用于全局变量的声明与赋值。该变量名必须是没有定义过的变量,若定义过,将发生编译错误。
![](https://epubservercos.yuewen.com/7094E9/16221441004999606/epubprivate/OEBPS/Images/51578-0030-0051.jpg?sign=1739341460-ImfhfvH0iw8YQjkGmFs5c4QQGPZ6lock-0-a3421a8a90e52804be648b0d0e6138c9)
多个短变量声明和赋值中,至少有一个新声明的变量出现在左侧,那么即便其他变量名可能是重复声明的,编译器也不会报错。情况如下所示。
![](https://epubservercos.yuewen.com/7094E9/16221441004999606/epubprivate/OEBPS/Images/51578-0030-0052.jpg?sign=1739341460-s5SIAv1rJAlUB2dhJyW12J7f2Hs2zbdZ-0-00fd1e016b8c50cc1dc58d40d18451c3)
虽然这种方法不会报错,但是在使用过程中应尽量避免。