一.布尔类型介绍

  • 布尔类型关键字bool
  • 布尔类型可取值只有两个
    • true :代表真,表示成立,二进制表示时1表示真
    • false:代表假,表示不成立,二进制表示时0表示假
  • 布尔类型不能与其他类型相互转换
  • 布尔类型占用1个byte
  • 布尔类型单独使用较少,多用在判断中

    二. 布尔类型代码示例

  • 创建bool类型变量

    1. func main() {
    2. var a bool = true
    3. var b bool = false
    4. var c = true
    5. d := false
    6. fmt.Println(a, b, c, d)
    7. }
  • 使用unsafe包下的Sizeof()可以查看类型占用字节

    1. func main() {
    2. a := false
    3. fmt.Println(unsafe.Sizeof(a))
    4. }
  • 虽然bool类型占用一个byte,但是bool不能和byte或int8相互转换

    1. func main() {
    2. var a int8 = 1
    3. var b byte = 0
    4. var c bool = false
    5. fmt.Println(a, b, c)
    6. a = int8(c) //cannot convert c (type bool) to type int8
    7. b = byte(c) //cannot convert c (type bool) to type byte
    8. c = bool(a) //cannot convert a (type int8) to type bool
    9. c = bool(b) //cannot convert b (type byte) to type bool
    10. b = byte(a) //可以
    11. }
  • 布尔类型除了直接赋值true或false以外,还是可以表达式赋值,借助比较运算符、逻辑运算符等

    1. func main() {
    2. a := 5 > 3
    3. fmt.Println(a) //输出:true
    4. fmt.Printf("%T", a) //输出:bool
    5. }