Gox语言入门9:布尔类型的数据

2022-02-18  本文已影响0人  陆满庭

布尔类型英语中一般称作boolean,计算机编程中也常简称bool,布尔类型数据的取值只有true和false两个值,分别代表“真”与“假”、“是”或“否”等对立的概念。布尔类型的数值或变量经常被用于条件判断分支代码中。

b = true

pl("[%T] %v", b, b)

c = false

pl("[%T] %v", c, c)

pl("!b = %v", !b)

pl("b == c: %v", b == c)

pl("1 > 14: %v", 1 > 14)

pl("b == true: %v", b == true)

pl("b && c: %v", b && c)

printf("b || c: %v\n", b || c)

上面这段代码中,pl函数也是Gox语言的内置函数,与其他语言的printf功能是基本一致,唯一的区别是会在结尾多输出一个换行符“\n”。也可以使用printf函数,但要注意在最后自行加上“\n”字符来进行换行(上例中最后一条输出语句使用了printf函数)。

这段代码执行后,输出结果如下:

λ gox test.gox
[bool] true
[bool] false
!b = false
b == c: false
1 > 14: false
b == true: true
b && c: false
b || c: true

其中,可以看出,变量a的值是true,变量b的值是false,“!”是取反(也叫“非”)操作符,如果是false取反则是true,true的取反为false。很多表达式的计算结果也是bool类型的,例如“b==c”表示判断变量b与c中的值是否相等(“==”符号表示判断其两边的变量值是否相等),其结果也是一个bool类型的值,由于b和c中的值并不相等,所以“b == c”的计算结果是false。因此,b == true这个表达式的结果就是true了,因为b的值就是true。“&&”和“||”表示“逻辑与”和“逻辑或”,这与很多其他语言也是一致的,true && true 还是 true,true && false 是 false,false && true 还是 false,false && false 也是 false;而true || true 是 true,true || false 还是 false,false || true 也是 true,false || false 则是 false。

布尔类型数据最常见的用途是用于条件分支中,也就是根据某个条件来决定执行不同的代码。例如下面这段代码:

n1 = 3
n2 = 5

if n1 > n2 {
    pl("here")
} else {
    pl("there")
}

if/else这一段代码是常见的条件分支结构,如果if之后所跟的表达式计算结果值为true(注意是布尔类型),则执行其后的代码块,否则执行else后的代码块。代码块就是用花括号“{}”括起来的一行或多行代码。

这段代码中,n1和n2分别为3和5,我们用if语句判断n1是否大于n2,这里显然条件不满足,n1 > n2这个表达是的结果将为false,因此将执行else后面的代码块,最后将输出“there”,我们来看执行结果是否如此。

D:\scripts>gox test.gox
there

D:\scripts>

可以看出,结果确实符合预期。

 

注意:

作为脚本语言,Gox语言性能肯定不如Go语言这样的编译型语言快,但在大多数使用场景下性能也足够用。并且,由于Gox语言与Go语言的紧密联系,Gox语言编写的脚本可以很容易的改写成Go语言代码,编译执行后就可以发挥Go语言的速度优势了。因此,Gox语言也比较适合做初期的Go语言调试。

Gox的官网在这里,也可以在浏览器搜索引擎中直接搜索“gox语言”,Github页面在这里,在这里可以看到很多Gox语言的学习指南和实际应用实例。

如果人生是一场旅行,我愿沿途播撒花朵。
上一篇下一篇

猜你喜欢

热点阅读