在學習 Go 語言前,我們先了解一下一些基本的變數型態(type),可簡單分成以下幾種:
Go 語言裡,字串必須用雙引號框起來,裡頭不為程式。
Go 語言,整數可分成兩種,int(一般的整數)和 uint(無符號整數,即非負整數),而這兩種整數又有位元差別,分成8、16、32、64bit,但在使用上,最常使用的為 int32 和 int64,而這些型態雖然都為整數,但不能將不同位元的整數一起運算,程式邊一時會報錯。
Go語言中浮點數即為數學上的實數,跟整數一樣,有位元的差別,一樣較常用的為 float32 和 float64。
Go語言中進行運算時,是將數字先轉換成二進位,,而大多數浮點數表示成二進位後是近似值,以0.1為例子,將期以二進位表示是相當複雜的,為0.00011001100...,我們這裡以一個例子舉例,下面程式是在進行0.2 + 0.4的運算,我們看一下結果為何:
package main
import (
"fmt"
)
func main() {
var f1 float64 = 0.2
var f2 float64 = 0.4
var f3 float64 = 0.6
fmt.Println(f1+f2, f3) //0.6000000000000001 0.6
}
大家應該都會想說0.2 + 0.4應該等於0.6,但結果為0.6000000000000001,即是我們剛剛說的原因,程式會先將數字先轉換成二進位再進行運算。
布林值為判斷對錯的一個值,其值只分為兩種,為 true 和 false,常常與 if else 敘述一起使用(if else敘述式在後面章節介紹)。
Go在宣吿變數的分法,分為兩種:
此宣告變數為宣告變數型態(type),可以先不必宣告變數的值,而是以 default 值帶入,可以參考以下程式碼:
package main
import (
"fmt"
)
func main() {
var f1 int64
var f2 float64
var f3 string
var f4 bool
fmt.Println(f1, f2, f3, f4) // 0 0 false
}
而此種變數宣告方法,可以在 function 外宣告變數,不一定要在 function 裡做,
package main
import (
"fmt"
)
var f1 int64
func main() {
fmt.Println(f1) // 0
}
此種變數宣告方式,為直接宣告數值,且他無法在 function 外宣告,必須在 function 內使用,可參考以下程式碼:
package main
import (
"fmt"
)
func main() {
f1 := 0
fmt.Println(f1) // 0
}
今天帶來 Go 語言比較基礎的變數型態,當然之後還會介紹其他比較複雜型態。感謝各位讀者今天的閱讀!