Golang-Variables & Constants declarations
Dec 1, 2019
變數與常數的宣告
變數宣告
- 宣告變數使用
var
,以下宣告num 變數為int 型態,給予初始值 10
- 若不給初始值,預定義變數都會有預設值,Go語言稱之為零值(The zero value),
int
的零值是0,所以下面兩行宣告是等價的
1 2
| var num int = 0 var num int
|
- Go可以一次宣告多個變數,下面的型態分別會推斷為
string
、int
、float64
1
| var name, age, height = "Miles", 18, 169.9
|
1 2 3 4 5
| var ( name = "Miles" age = 18 height = 169.9 )
|
1 2 3 4 5
| var ( name string = "Miles" age uint = 18 height float32 = 169.9 )
|
1 2 3 4 5
| var ( name string age uint height float32 )
|
短變數宣告
- 在func裡,若要宣告變數同時指定初值,可以使用短變數宣告
1 2 3
| name := "Miles" age := 18 height := 169.9
|
就如同 PHP 的 $name = ‘Miles’ 一樣,宣告變數同時給值
1
| name, age, height := "Miles", 18, 169.9
|
常數宣告
- 宣告變數使用 const 關鍵字,下面宣告了 num 變數為 int 型態,並給值為 10:
- num 會是不可變的常數,試圖指定新值會在編譯時報錯
1 2 3 4
| const num int = 10
num = 20
|
- 除了常數一定要給值,其他宣告的方法都跟變數一樣,如一次宣告多個常數
1
| const name, age, height = "Miles", 18, 169.9
|
1 2 3 4 5
| const ( name = "Miles" age = 18 height = 169.9 )
|
1 2 3 4 5
| const ( name string = "Miles" age uint = 18 height float32 = 169.9 )
|
- 如果宣告了一個 num 變數沒使用, Go 會在編譯時期出錯:
1
| ./hello.go:8:6: num declared and not used
|