Go语言中的布尔类型与其他语言基本一致,关键字也为bool,可赋值为预定义的true和false示例代码如下:
var v1 bool v1 = true v2 := (1 == 2) // v2也会被推导为bool类型
//from http://www.cnblogs.com/osfipin/
布尔类型不能接受其他类型的赋值,不支持自动或强制的类型转换。以下的示例是一些错误的用法,会导致编译错误:
var b bool b = 1 // 编译错误 b = bool(1) // 编译错误 以下的用法才是正确的: var b bool b = (1!=0) // 编译正确 fmt.Println("Result:", b) // 打印结果为Result: true
布尔可以做3种逻辑运算,&&(逻辑且),||(逻辑或),!(逻辑非)。
比较操作符:<,>, ==,!=, <=, >=。
更多:类型介绍。
学习代码:
package main import ( "fmt" "reflect" ) func main() { var val1, val2 bool val1 = false val2 = true val3 := false fmt.Println(reflect.TypeOf(val1)) // 输出 bool fmt.Println(val2) // 输出 true fmt.Println(reflect.TypeOf(val3)) // 输出 bool var val4 bool val4 = (1 != 0) fmt.Println(val4) // 输出 true }