這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
Go
入門第一篇,我會提煉出經常使用的基礎點,對於剛開始入門 Go
,基礎還不紮實的童鞋可以參考此文快速查閱 Go
的基礎用法。
系列整理:
如果對 Go
語言本身感興趣,可以閱讀我的這篇譯文 Go語言的優點,缺點和令人厭惡的設計。
變數定義
// 預設為零值var a stringvar b intvar a, b string // 聲明變數值var e string = "abc"// 變數屬於同一類型,可唯寫一次類型var c, d int = 3, 4// 推論類型var f, g, h, i = 3, 4, true, "def"f, g, h, i := 3, 4, true, "def"// 括弧寫法var ( aa = 3 ss = "kkk" bb = true)
內建變數類型
- bool, string
- (u)int, (u)int8, (u)int16, (u)int32, (u)int64, uintptr
- byte, rune
- float32, float64, complex64, complex128
complex 是複數類型
// 不用1i,程式會將 i 識別為變數fmt.Printf("%.3f\n", cmplx.Exp(1i*math.Pi) + 1)
強制類型轉換
var a, b int = 3, 4// math.Sqrt 參數和傳回值都是 float64c := int(math.Sqrt(float64(a *a + b * b)))
常量的定義
const a, b = 3, 4const ( filename = "abc.txt" a, b = 3, 4)// const 數值可以作為任意的類型使用,所以此處 a, b變數不需要手動轉換為 float64c := int(mant.Sqrt(a*a + b*b))
自增枚舉類型
const ( javascript = iota c python _ php)const ( b = 1 << (10 * iota) kb mb gb tb pb)