030-go 语言里的布尔类型

这一篇来点轻松的,不需要很多的代码量,直接进入主题.

1. 布尔类型

在 go 中布尔类型使用 bool 来声明。使用 ==, !=, <, >, <=, >= 比较运算符,产生的结果也是 bool 类型。

package main

import "fmt"

func main() {
    var a bool = true
    var b bool = false

    var c = 1 == 2
    var d = 1 < 2
    var e = 1 > 2
    var f = 1 != 2

    fmt.Printf("a // %v\n", a)
    fmt.Printf("b // %v\n", b)
    fmt.Printf("c = 1== 2 // %v\n", c)
    fmt.Printf("d = 1 < 2 // %v\n", d)
    fmt.Printf("e = 1 > 2 // %v\n", e)
    fmt.Printf("e = 1 != 2 // %v\n", f)
    // fmt.Printf("%d\n", int(a)) // not ok
    // fmt.Printf("%d\n", int(b)) // not ok
}

上面的程序输出结果如下:

a // true
b // false
c = 1== 2 // false
d = 1 < 2 // true
e = 1 > 2 // false
e = 1 != 2 // true

需要注意的是,在 go 里不能使用强制转换将 bool 类型转换为整数。因此上面的代码中被注释掉的最后两行是不能编译通过的。

如果你有将 bool 转换为整数的需求,需要自己写一个函数,比如像下面这样:

func btoi(b bool) int {
    if b {
        return 1
    }
    return 0
}

你还可以再写一个将整数转换为 boolitob 函数:

func itob(i int) bool { return i != 0 }

2. 总结

  • 掌握 bool 类型

猜你喜欢

转载自blog.csdn.net/q1007729991/article/details/79512261