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
}