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

 
		