型別
1.型別定義在變數名稱後
var appleNum int // 一般變數
const appleNum int // 常數2.一次定義多個同型別的變數
var AppleNum1, AppleNum2, AppleNum3 int或是
var (
isIt bool = false
initInt uint64 = 1000
z complex128 = -5 + 12i
)3.直接定義並賦值
var AppleNum int = 54.同時定義多個變數並賦值
var AppleNum1, AppleNum2, AppleNum3 int = 1, 2, 3上面幾點如果直接賦值但沒有加型別,go語言會自動判斷
5.使用:= 宣告 可省略var和type
:= 只可用在函式內,放在top level會出現錯誤; 如果用 := 又加了var 和型別也會錯誤
所以用var 或const 通常用來定義全域變數才使用
6.有關 _
_(下劃線)是個特殊的變量名,任何賦予它的值都會被丟棄
可用於部分回傳值參數不想處理的時候
7.型別轉換
使用 type(要轉換的變數),例如int(..), float64(..) 等等
int8 與int32也不可直接運算,需要轉換
有一些例外情況必須用 Type_assertions
不能用 int(a) 要用 a.(int)
https://golang.org/ref/spec#Type_assertions
8.型別別名(Type alias)
https://play.golang.org/p/HHs6xDipuZ
Golang所有可用型別
Rune
範例:
golang中string底層實作為byte。中文字符在unicode下占2個byte,在utf-8編碼為3個byte,而golang默認編碼為utf8。
所以用rune才能正確算出中文字長度。
byte array to string
如果有轉為 hex string
查看型別
Last updated
Was this helpful?