同Python一樣,Go中布爾值(Boolean)分為true和false,用來判斷條件是否成立,唯一的區(qū)別是Python中布爾值的首字母為大寫(True和False),而Go中則為小寫的true和false。講到布爾值,自然要介紹和它緊密相關的比較運算符和邏輯運算符。
布爾值基本概念
同Python一樣,Go中布爾值(Boolean)分為true和false,用來判斷條件是否成立,唯一的區(qū)別是Python中布爾值的首字母為大寫(True和False),而Go中則為小寫的true和false。講到布爾值,自然要介紹和它緊密相關的比較運算符和邏輯運算符。
比較運算符
Go中比較運算符的類型和用法與Python幾乎完全相同,它們返回的值都為布爾值,常見的比較運算符(Comparison Operators)如下表所示。

字符、字符串、整數、浮點數都能用比較運算符作比較,舉例如下。
package main
import "fmt"
func main() {
//字符之間做比較
fmt.Println('P'=='G')
//英文字符串之間做比較的話,按首字母按順序比較,"a"最小,"z"最大,所以"abc" > "bcd"返回false
fmt.Println("abc" > "bcd")
//如果首字母相同,則比較第二、第三個字母,以此類推,這里首字母a一樣,因為第二個字母b小于c,所以"ab">"ac"返回false
fmt.Println("ab">"ac")
//整數之間做比較
fmt.Println(100 <= 101)
//浮點數之間做比較
fmt.Println(1.1 >= 1.2 )
//整數和浮點數之間做比較
fmt.Println(1.0 == 1 )
}

邏輯運算符
除了比較運算符,使用邏輯運算符(Logical Operators)也能返回布爾值。邏輯運算符有 3 種:與( and )、或(or)、非(not),如下表所示。

和Python不同,Go語言中沒有and、or、not這幾個關鍵詞,取而代之的是&&(and)、II(or)、?。╪ot)這幾個符號,舉例如下。
package main
import "fmt"
func main() {
//和(and)運算
fmt.Println(true && true)
fmt.Println(true && false)
fmt.Println(false && true)
fmt.Println(false && false)
//與(or)運算
fmt.Println(true || true)
fmt.Println(true || false)
fmt.Println(false || true)
fmt.Println(false || false)
//非(not)運算
fmt.Println(!true)
fmt.Println(!false)
}

注意一點:取非的那個感嘆號"!"必須是用英文輸入法輸入的感嘆號"!",用中文輸入法輸入的感嘆號“!”系統(tǒng)會報錯。