網絡工程師進階之路(網絡工程師的Golang之路)
2023-09-20 00:03:56 2
版權聲明:我已加入「維權騎士」(http://rightknights.com)的版權保護計劃,知乎專欄「網路行者」下的所有文章均為我本人(知乎ID:弈心)原創,未經允許不得轉載。
如果你喜歡我的文章,請關注我的知乎專欄「網路行者」https://zhuanlan.zhihu.com/c_126268929, 裡面有更多像本文一樣深度講解計算機網絡技術的優質文章。
布爾值基本概念同Python一樣,Go中布爾值(Boolean)分為true和false,用來判斷條件是否成立,唯一的區別是Python中布爾值的首字母為大寫(True和False),而Go中則為小寫的true和false。講到布爾值,自然要介紹和它緊密相關的比較運算符和邏輯運算符。
比較運算符Go中比較運算符的類型和用法與Python幾乎完全相同,它們返回的值都為布爾值,常見的比較運算符(Comparison Operators)如下表所示。
字符、字符串、整數、浮點數都能用比較運算符作比較,舉例如下。
package mainimport "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 = 1.2 ) //整數和浮點數之間做比較 fmt.Println(1.0 == 1 )}
除了比較運算符,使用邏輯運算符(Logical Operators)也能返回布爾值。邏輯運算符有 3 種:與( and )、或(or)、非(not),如下表所示。
和Python不同,Go語言中沒有and、or、not這幾個關鍵詞,取而代之的是&&(and)、II(or)、!(not)這幾個符號,舉例如下。
package mainimport "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)}
注意一點:取非的那個感嘆號"!"必須是用英文輸入法輸入的感嘆號"!",用中文輸入法輸入的感嘆號「!」系統會報錯。
,