Variables & Constants declarations
昨天學到了實字常數(literal constants)該如何表示,今天來了解如何宣告變數(Variables)與常數(Constants)。
變數宣告
宣告變數使用 var
關鍵字,下面宣告了 num 變數為 int 型態,並給初始值為 10:
var num int = 10 |
使用 IDE 會提示說,int
可以省略,因為 Go 會自動推斷 10 的型態為 int
,因此也可以這樣宣告:
var num = 10 |
如果不給初始值的話,預定義變數都會有預設值,Go 語言稱之為零值(The zero value),int
的零值是 0,所以下面兩行宣告是等價的:
var num int = 0 |
Go 可以一次宣告多個變數,下面的型態分別會推斷為 string
、int
、float64
:
var name, age, height = "Miles", 18, 169.9 |
也可以分多行宣告
var ( |
多行宣告並指定型態與指定初始值
var ( |
多行宣告並指定型態不指定初始值
var ( |
短變數宣告
在 func 裡,如果要宣告變數同時指定初值,可以使用短變數宣告:
name := "Miles" |
這裡就如同 PHP 的
$name = 'Miles'
一樣,宣告變數同時給值
一樣可以寫成一行
name, age, height := "Miles", 18, 169.9 |
常數宣告
宣告變數使用 const
關鍵字,下面宣告了 num 變數為 int 型態,並給值為 10:
const num int = 10 |
這時 num 會是不可變的常數,試圖指定新值會在編譯時期報錯。
const num int = 10 |
除了常數一定要給值外,其他宣告的方法都跟變數一樣,如一次宣告多個常數
const name, age, height = "Miles", 18, 169.9 |
多行宣告
const ( |
多行宣告並指定型態
const ( |
宣告後沒使用會?
變數宣告了就是要用,不然要幹嘛?如果宣告了一個 num 變數沒使用,Go 會在編譯時期出錯:
./hello.go:8:6: num declared and not used |
常數則可以宣告但不使用。
今日回顧
- 學習了兩個關鍵字(5/23)
var
宣告變數const
宣告常數
參考資料
- 變數宣告、常數宣告 - 良葛格學習筆記
- The zero value - The Go Programming Language Specification
- Short variable declarations - The Go Programming Language Specification