Iris 這個在 go 語言上地表最快的網頁框架- go 的變數

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)
}

在這邊的變數i``j是定義在全域的指定為整數的變數,並且分別賦予1與2的值。
c``python``java則是區域變數會經過賦予true以及false的布林值跟no!的字串

變數轉型

介紹完變數宣告與賦值後要介紹給大家是如何將不同型別的資料放到變數之中,因為 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則是區域的常數變數

結論

這篇文章跟大家分享一下變數的相關知識,例如變數的型態、宣告及賦值等等的語法,接下來會更進一步跟大家分享一下容器型的類別,如list``map等等的變數。還有上面有些範例來自於 Go tour 有興趣的讀者可以上去練習一下。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *