淺談 Golang 變數與常數:宣告、初始化與使用
在本篇文章中,我們將探索 Golang 中變數與常數的基本宣告方式、初始化方法以及使用技巧,助您深入了解這門語言的核心概念。
👨💻簡介
在 Golang 中,你可以使用不同的方式來宣告變數和常數。宣告變數時,可以直接指定值,或者使用型別推導,更簡單地用 :=
來宣告局部變數。另外,還可以一次宣告多個變數,相同型別的變數可以一起宣告,或者使用括號宣告不同型別的變數。常數則使用 const
關鍵字宣告,確保值不變,有助於提高程式碼的可讀性和穩定性。
變數的聲明
在 Golang 裡,變數是程式中保存資料的容器。變數名稱由字母、數字、底線組成,但首個字符不能是數字。Golang 的關鍵字和保留字都不能用作變數名稱。
變數的宣告和初始化方式多種多樣,在使用變數之前,需要先聲明變數。在同一範圍內,不允許重複聲明相同的變數。而且,一旦聲明變數,就必須在之後的程式碼中使用它。
如果變數在聲明後沒有進行初始化,則打印出來的值將是空的。
如何定義變數
單變數宣告
- 普通聲明(variable declaration) 使用 var 關鍵字進行普通聲明,然後指定變數名稱和類型,再賦予初始值。
var name string
name = "Alan"
- 帶初始化的聲明(direct define): 可以直接指定變數的類型和初始值。
var age int = 25
也可以省略類型,讓變數類型根據初始值自動推斷。
var age = 25
- 簡短變數聲明(short declaration)
在函式內部,可以使用簡化的
:=
語法同時宣告並初始化變數。
注意:簡短變數聲明只能用於局部變數,不能用於全局變數的聲明。
foo := "hello"
bar := 100
多變數宣告
- 普通聲明 您可以同時宣告多個相同類型的變數。
var a, b int
a = 10
b = 20
- 帶初始化的聲明(direct define): 可以直接指定多個變數的類型和初始值。
var x, y int = 5, 8
也可以省略類型,讓變數類型根據初始值自動推斷。
var x, y = 5, 8
- 使用簡短變數聲明:
同樣也可以使用簡化的
:=
語法同時宣告多個變數。
x, y := 5, 8
- 使用括號的平行賦值
使用括號
()
可以同時宣告多個不同類型的變數並賦予初始值。
var(
foo string
bar int
)
var (
foo = 5
bar = "abc"
)
var (
name string = "Alice"
age int = 25
country string = "USA"
)
匿名變數
使用 _
符號表示匿名變數,適用於不需要使用的變數。
_, result := calculateSomething()
常數的定義與使用
常數是不會變動的值,可用於定義程式運行期間不會改變的數值。使用 const
關鍵字宣告常數,確保值不變,增強程式碼可讀性和穩定性。
常數的聲明與變數的聲明非常相似,只需將 var 改成 const,並在聲明時必須賦值。
// 定義常數 pi,可以在程式的任何地方使用
const pi = 3.14
// 同時宣告兩個常數
const(
A = "A"
B = "B"
)
// 同時宣告多個常數,省略值則與上一行相同
const(
A = "A"
B
C
)
使用 iota
的 Const 常數
iota
是 Golang 的常數計數器,僅能在常數表達式中使用。iota
在每次出現 const
關鍵字時,都會重置為 0(位於 const
區塊的第一行之前)。每新增一行常數聲明,iota
計數一次。
const a = iota // a = 0
const (
b = iota // b = 0
c // c = 1
d // d = 2
)
// 可在一開始即決定初始值
const (
b = iota+1 // b = 1
c // c = 2
d // d = 3
)
// 使用 _ 跳過某些值
const (
b = iota // b = 0
_
d // d = 2
)