Go | 初步了解「布林」型別
💬 簡介
布林型別(Boolean Types)是最基本且常用的型別之一。布林型別的值只有兩種:true
和 false
。它常用於條件判斷、控制流程等場景。
理解布林型別的特性和運用,可以幫助寫出更加清晰、易懂的程式碼。
本篇文章將介紹 Go 語言中的布林型別,並深入探討如何使用布林型別來處理程式中的邏輯判斷。
圖片來源:Gophers(地鼠造型的原創者為 Renee French)
🔎 Go 語言中的布林型別
1️⃣ 布林型別的基本概念
布林型別是一個邏輯型別,通常用於表示真或假。布林型別在 Go 語言中非常簡單,只會有兩個可能的值:
true
(真)false
(假)
- 範例:布林型別的使用
1
2
3
4
5
6
7
8
9
10
11package main
import "fmt"
func main() {
var isActive bool = true
var isComplete bool = false
fmt.Println("isActive:", isActive) // 輸出:isActive: true
fmt.Println("isComplete:", isComplete) // 輸出:isComplete: false
}
2️⃣ 布林型別的運算
布林型別常與邏輯運算符一起使用,例如 &&
(邏輯與)、||
(邏輯或)和 !
(邏輯非),用來處理邏輯運算。
- 範例:布林運算符的使用
1
2
3
4
5
6
7
8
9
10
11
12package main
import "fmt"
func main() {
var a bool = true
var b bool = false
fmt.Println("a && b:", a && b) // 輸出:a && b: false
fmt.Println("a || b:", a || b) // 輸出:a || b: true
fmt.Println("!a:", !a) // 輸出:!a: false
}📝這個範例展示了邏輯運算符的使用,
&&
用於邏輯與,||
用於邏輯或,!
用於邏輯非。
3️⃣ 布林型別與條件語句
布林型別是條件語句(如 if
語句)中不可或缺的一部分。if
語句根據布林表達式的結果決定是否執行相應的程式碼區塊。
- 範例:布林型別與 if 語句
1
2
3
4
5
6
7
8
9
10
11
12
13package main
import "fmt"
func main() {
var isAdult bool = true
if isAdult {
fmt.Println("您是成年人!")
} else {
fmt.Println("您不是成年人!")
}
}📝這個範例中,
if
語句根據布林值isAdult
來決定是否顯示相應的訊息。
4️⃣ 布林型別的默認值
Go 語言中的布林型別在變數未初始化時,其默認值為 false
。
- 範例:布林型別的默認值
1
2
3
4
5
6
7
8package main
import "fmt"
func main() {
var isAvailable bool
fmt.Println("isAvailable:", isAvailable) // 輸出:isAvailable: false
}📝在這個範例中,
isAvailable
未被明確初始化,因此它的默認值為false
。
⚠️ 注意事項
1️⃣ 不等於零的數值與布林型別
Go 語言中並不允許將數字直接與布林型別混用。不同於某些語言(如 C),Go 中的布林型別只接受 true
和 false
,不會將數值 0
視為 false
,也不會將非零數字視為 true
。
- 範例:數字與布林型別不兼容
1
2
3
4
5
6
7
8
9package main
import "fmt"
func main() {
// 以下會報錯:布林型別不接受數字
// var result bool = 1 // 編譯錯誤
// var valid bool = 0 // 編譯錯誤
}📝布林型別只能直接賦予
true
或false
,數字不能自動轉換為布林值。
2️⃣ 布林型別與空值
在 Go 中,布林型別本身並不能直接與 nil
比較。若需要判斷是否為空,可以使用指標來實現。
- 範例:使用指標來處理布林型別的空值
1
2
3
4
5
6
7
8
9
10
11package main
import "fmt"
func main() {
var isActive *bool // 布林型別的指標,默認為 nil
if isActive == nil {
fmt.Println("isActive 變數是空的(nil)")
}
}📝這個範例中,
isActive
是布林型別的指標,默認為nil
,可以通過檢查來判斷是否為空。
🎯總結
布林型別是非常基礎但至關重要的型別。它主要用來處理邏輯判斷和條件控制。理解布林型別的基本運算、使用場景以及注意事項,可以幫助編寫更加高效且清晰的程式碼。
建議在開發過程中,靈活運用布林型別來進行條件判斷和控制程式流程,並小心避免與其他數值型別混用的問題。
最後建議回顧一下 Go | 菜鳥教學 目錄,了解其章節內容。
註:以上參考了
Go