Go | 基本型別的認識與宣告
💬 簡介
在程式開發中,變數是用來存儲資料的重要工具。在 Go 語言中,變數的宣告方式簡單且靈活,支援多種基本資料型別以適應不同的應用場景。
本篇文章將了解 Go 的變數宣告方式,以及支援的基本資料型別。
圖片來源:Gophers(地鼠造型的原創者為 Renee French)
📝 變數宣告方式
Go 提供了多種宣告變數的方式,根據不同需求選擇適合的方式進行使用。
1️⃣ 標準宣告方式
標準的變數宣告方式使用 var
關鍵字,並指定變數的名稱與型別
1 | var variableName variableType |
- 範例:
1
2
3
4
5
6
7
8package main
import "fmt"
func main() {
var name string = "Golang"
fmt.Println("Hello,", name)
} - 結果輸出:
1
Hello, Golang
2️⃣ 隱式型別推斷
提供了型別推斷功能,在變數賦值時自動推斷變數的型別:
1 | var variableName = value |
- 範例:
1
2
3
4
5
6
7
8package main
import "fmt"
func main() {
var age = 30
fmt.Println("Age:", age)
} - 結果輸出:
1
Age: 30
3️⃣ 簡短宣告方式
在函式內可以使用 :=
來進行簡短宣告,這是 Go 特有的語法,簡潔且高效:
1 | variableName := value |
- 範例:
1
2
3
4
5
6
7
8package main
import "fmt"
func main() {
greeting := "Hello, Go!"
fmt.Println(greeting)
} - 結果輸出:
1
Hello, Go!
🚀 多變數宣告
Go 支援一次宣告多個變數,提升程式的可讀性與維護性。
1️⃣ 同型別變數
1 | var x, y, z int = 1, 2, 3 |
2️⃣ 不同型別變數
1 | var ( |
- 範例:
1
2
3
4
5
6
7
8
9
10
11package main
import "fmt"
func main() {
var (
name string = "Go"
age int = 10
)
fmt.Printf("Name: %s, Age: %d\n", name, age)
} - 結果輸出:
1
Name: Go, Age: 10
🔎 Go 的基本資料型別
Go 提供多種基本資料型別,以下是完整的型別分類與簡要說明:
📌 數值型
- 整數型:
- 帶符號整數(signed):
int
,int8
,int16
,int32
,int64
- 無符號整數(unsigned):
uint
,uint8
,uint16
,uint32
,uint64
,uintptr
uintptr
:用於存儲指標的整數型別,與平台相關。
- 帶符號整數(signed):
- 浮點數型:
float32
,float64
:分別表示單精度與雙精度浮點數。
- 複數型:
complex64
,complex128
:分別表示包含 32 位或 64 位浮點數的實部與虛部的複數。
📌 布林型
- 布林型:
bool
:用於表示布林值,僅能取true
或false
。
📌 文字型
- 位元型:
byte
:uint8
的別名,通常用於表示單一位元的資料。
- 符文型:
rune
:int32
的別名,表示一個 Unicode 碼點。
📌 字串型
- 字串型:
string
:表示文字資料,支援 UTF-8 編碼。
📌 附加說明
int
,uint
,uintptr
的位數:
這些型別的位數依系統而定,在 32 位系統上為 32 位寬,在 64 位系統上為 64 位寬。使用建議:
除非有特殊需求,通常建議使用int
作為整數型別,因為它在大多數情況下是最佳選擇。
🔧 範例
以下範例展示了多種基本資料型別的變數宣告:
- 範例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19package main
import "fmt"
func main() {
var isActive bool = true
var age int = 30
var unicodeChar rune = '😊'
var byteValue byte = 255
var floatValue float64 = 3.14159
var complexValue complex128 = complex(1, 2)
fmt.Println("布林值:", isActive)
fmt.Println("整數值:", age)
fmt.Println("Unicode 碼點:", unicodeChar)
fmt.Println("位元值:", byteValue)
fmt.Println("浮點值:", floatValue)
fmt.Println("複數值:", complexValue)
} - 結果輸出:
1
2
3
4
5
6布林值: true
整數值: 30
Unicode 碼點: 128522
位元值: 255
浮點值: 3.14159
複數值: (1+2i)
🎯總結
本篇文章介紹了 Go 語言中的變數宣告方式與基本資料型別。透過簡單直觀的範例,學習如何使用 var
宣告變數,並了解 Go 支援的多種基本資料型別及其用途。
未來的程式開發中,選擇正確的資料型別不僅能提高程式的可讀性與效能,也能幫助更好地管理與處理資料。若對特定型別有更多疑問,建議參考官方文件或進一步測試相關功能!
最後建議回顧一下 Go | 菜鳥教學 目錄,了解其章節內容。