布尔值的基本概念和Python是一样的。Go中的布尔值(Boolean)分为true和false,用于判断条件是否为真。唯一不同的是,Python中布尔值的首字母是大写的(True和False),而在Go中是小写的true和false。说到布尔值,自然要介绍与之密切相关的比较运算符和逻辑运算符。比较运算符Go中比较运算符的类型和用法与Python中的几乎相同。它们返回布尔值。常用的比较运算符(ComparisonOperators)如下表所示。字符、字符串、整数和浮点数都可以使用比较运算符进行比较,示例如下。packagemainimport"fmt"funcmain(){//字符之间的比较fmt.Println('P'=='G')//英文字符串之间的比较,按照第一个字母,"a"的顺序比较最小,"z"最大,所以"abc">"bcd"返回falseon,这里第一个字母a相同,因为第二个字母b比c小,所以"ab">"ac"返回falsefmt.Println("ab">"ac")//整数之间的比较fmt.Println(100<=101)//浮点数比较fmt.Println(1.1>=1.2)//整数和浮点数比较fmt.Println(1.0==1)}逻辑运算符除了比较运算符,使用逻辑运算符也可以返回布尔值。逻辑运算符有and(和)、or(或)、not(非)三种,如下表所示。与Python不同的是,Go语言中没有and、or、and等关键字,而是用&&(and)、II(or)、!(不是)这些符号,例子如下。packagemainimport"fmt"funcmain(){//and(和)操作fmt.Println(true&&true)fmt.Println(true&&false)fmt.Println(false&&true)fmt.Println(false&&false)//与(或)运算fmt.Println(true||true)fmt.Println(true||false)fmt.Println(false||true)fmt.Println(false||false)//非(不)运算fmt.Println(!true)fmt.Println(!false)}注意:感叹号“!”必须是感叹号“!”错误。
