ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 变量 Go语言在声明变量的时候,会自动对变量对应的内存区域进行初始化操作。每个变量会被初始化成其类型的默认值,例如: 整型和浮点型变量的默认值为0。 字符串变量的默认值为空字符串。 布尔型变量默认为`false`。 切片、函数、指针变量的默认为`nil`。 注意事项: ``` <pre class="calibre13">``` 函数外的每个语句都必须以关键字开始(<span class="token2">var</span>、<span class="token2">const</span>、func等) <span class="token1">:</span><span class="token">=</span>不能使用在函数外。 _多用于占位,表示忽略值。 ``` ``` ### iota `iota`是`go`语言的常量计数器,只能在常量的表达式中使用。`iota`在`const`关键字出现时将被重置为`0`。`const`中每新增一行常量声明将使`iota`计数一次(`iota`可理解为`const`语句块中的行索引)。 使用`iota`能简化定义,在定义枚举时很有用。 ``` <pre class="calibre13">``` <span class="token2">const</span> <span class="token1">(</span> n1 <span class="token">=</span> iota <span class="token6">//0</span> n2 <span class="token6">//1</span> n3 <span class="token6">//2</span> n4 <span class="token6">//3</span> <span class="token1">)</span> ``` ``` ### 几个常见的iota示例: 使用\_跳过某些值 ``` <pre class="calibre13">``` <span class="token2">const</span> <span class="token1">(</span> n1 <span class="token">=</span> iota <span class="token6">//0</span> n2 <span class="token6">//1</span> _ n4 <span class="token6">//3</span> <span class="token1">)</span> ``` ``` `iota`声明中间插队 ``` <pre class="calibre13">``` <span class="token2">const</span> <span class="token1">(</span> n1 <span class="token">=</span> iota <span class="token6">//0</span> n2 <span class="token">=</span> <span class="token5">100</span> <span class="token6">//100</span> n3 <span class="token">=</span> iota <span class="token6">//2</span> n4 <span class="token6">//3</span> <span class="token1">)</span> <span class="token2">const</span> n5 <span class="token">=</span> iota <span class="token6">//0</span> ``` ``` ## 短变量声明 ``` <pre class="calibre13">``` <span class="token2">package</span> main <span class="token2">import</span> <span class="token1">(</span> <span class="token4">"fmt"</span> <span class="token1">)</span> <span class="token6">// 全局变量m</span> <span class="token2">var</span> m <span class="token">=</span> <span class="token5">100</span> func <span class="token3">main</span><span class="token1">(</span><span class="token1">)</span> <span class="token1">{</span> n <span class="token1">:</span><span class="token">=</span> <span class="token5">10</span> m <span class="token1">:</span><span class="token">=</span> <span class="token5">200</span> <span class="token6">// 此处声明局部变量m</span> fmt<span class="token1">.</span><span class="token3">Println</span><span class="token1">(</span>m<span class="token1">,</span> n<span class="token1">)</span> <span class="token1">}</span> ``` ``` ``` <pre class="calibre14">``` 函数外的每个语句都必须以关键字开始(<span class="token2">var</span>、<span class="token2">const</span>、func等) <span class="token1">:</span><span class="token">=</span>不能使用在函数外。 _多用于占位,表示忽略值。 ``` ```