go 的變數
在介紹完 go 的基本內容後這一篇要開始進入常常會用到的語法,go 變數的類別、宣告、初始化以及賦值,還有與變數相關的語法例如轉型、常數變數。
變數的類別
在介紹變數的語法之前要先跟大家分享一下變數類型,接下來筆者依據變數的大類來跟大家分享變數的類型
整數
這部分先跟大家分享整數的類型
int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64 uintptr
byte // alias for uint8
rune // alias for int32
// represents a Unicode code point
上面羅列一些整數型態,常用的應該是int
`、
`uint
`、
`byte
`之類的不過 [Go tour] 建議如果沒有特殊用途不要使用非
`int
浮點數
這部分泛指有小數點的類別,內容如下
float32 float64
complex64 complex128
其中兩個差別是
高complex64
`的精度比
`float32
宣告與初始化
在認識變數的類型後接下來跟大家分享一下如何宣告變數,請看下列例子。
package main
import "fmt"
var i, j int = 1, 2
func main() {
var c, python, java = true, false, "no!"
fmt.Println(i, j, c, python, java)
}
在這邊的變數
是定義在全域的指定為整數的變數,並且分別賦予1與2的值。i
`及
`j
而
則是區域變數會經過賦予true以及false的布林值跟no!的字串c
`與
`python
`跟
`java
變數轉型
介紹完變數宣告與賦值後要介紹給大家是如何將不同型別的資料放到變數之中,因為 go 是強型別的語言所以很有機會遇到這問題,所以請大家看看下面例子。
package main
import (
"fmt"
"math"
)
func main() {
var x, y int = 3, 4
var f float64 = math.Sqrt(float64(x*x + y*y))
var z uint = uint(f)
fmt.Println(x, y, z)
}
簡單說明就是把型別的名稱當成方法來使用就可以將該變數轉換成另一種型別。
常數變數
最後介紹一下常數變數,這通常用在不想留下魔術數字的時候使用,請大家看看下列例子。
package main
import "fmt"
const Pi = 3.14
func main() {
const World = "世界"
fmt.Println("Hello", World)
fmt.Println("Happy", Pi, "Day")
const Truth = true
fmt.Println("Go rules?", Truth)
}
上面的Pi是全域的常數變數而World以及Truth則是區域的常數變數
結論
這篇文章跟大家分享一下變數的相關知識,例如變數的型態、宣告及賦值等等的語法,接下來會更進一步跟大家分享一下容器型的類別,如
等等的變數。還有上面有些範例來自於 Go tour 有興趣的讀者可以上去練習一下。list
`及
`map