Go 語言的變量類型別是一個重要的概念,它可以幫助開發者更好地理解和控制程式碼的行為。Go 語言提供了多種變量類型別,包括整數、浮點數、字串、布林值、指針、結構、切片、函數、介面和陣列等。本文將介紹 Go 語言中的變量類型別,並提供一些範例程式碼來說明如何使用它們。
整數
Go 語言支援兩種整數類型:int 和 uint。int 類型用於表示有符號的整數,而 uint 類型用於表示無符號的整數。int 和 uint 都可以使用 8、16、32 和 64 位元來表示,其中 int8、int16、int32 和 int64 分別表示有符號的 8、16、32 和 64 位元整數,而 uint8、uint16、uint32 和 uint64 分別表示無符號的 8、16、32 和 64 位元整數。
// 宣告一個有符號的 8 位元整數 var a int8 // 宣告一個無符號的 16 位元整數 var b uint16
浮點數
Go 語言支援兩種浮點數類型:float32 和 float64。float32 類型用於表示 32 位元的浮點數,而 float64 類型用於表示 64 位元的浮點數。
// 宣告一個 32 位元的浮點數 var a float32 // 宣告一個 64 位元的浮點數 var b float64
字串
Go 語言的字串是一個字元序列,它可以使用字元陣列或字元指針來表示。字串是不可變的,一旦建立就不能更改。
// 宣告一個字串 var a string // 宣告一個字元陣列 var b [10]byte // 宣告一個字元指針 var c *byte
布林值
Go 語言的布林值只有兩個值:true 和 false。它可以用於比較操作,例如比較兩個數字是否相等。
// 宣告一個布林值 var a bool // 比較兩個數字是否相等 var b bool = (1 == 2)
指針
Go 語言的指針可以指向任何變量,它可以用於存取變量的資料。
// 宣告一個整數 var a int // 宣告一個指針指向 a var b *int = &a // 透過指針存取 a 的資料 *b = 10
結構
Go 語言的結構可以用來封裝多個變量,它可以用於封裝複雜的資料結構。
// 宣告一個結構 type Person struct { name string age int } // 宣告一個結構變量 var a Person // 封裝複雜的資料結構 a.name = "John" a.age = 20
切片
Go 語言的切片可以用來表示可變長度的陣列,它可以用於存取陣列中的資料。
// 宣告一個陣列 var a [10]int // 宣告一個切片 var b []int = a[0:5] // 存取陣列中的資料 b[0] = 10
函數
Go 語言的函數可以用來封裝一組指令,它可以用於重複使用的程式碼。
// 宣告一個函數 func add(a int, b int) int { return a + b } // 呼叫函數 var c int = add(1, 2)
介面
Go 語言的介面可以用來定義一組方法,它可以用於抽象化的程式設計。
// 宣告一個介面 type Printer interface { Print() } // 實作介面 type Person struct { name string } func (p Person) Print() { fmt.Println(p.name) } // 呼叫介面 var a Person a.name = "John" a.Print()
陣列
Go 語言的陣列可以用來表示一組固定長度的資料,它可以用於存取陣列中的資料。
// 宣告一個陣列 var a [10]int // 存取陣列中的資料 a[0] = 10
總結來說,Go 語言提供了多種變量類型別,包括整數、浮點數、字串、布林值、指針、結構、切片、函數、介面和陣列等。開發者可以根據需要選擇適當的變量類型別來撰寫程式碼,以更好地控制程式碼的行為。