美文网首页
Gox语言入门9:布尔类型的数据

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

作者: 陆满庭 | 来源:发表于2022-02-18 08:43 被阅读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语言(Golang)的开源脚本语言,解释执行,但相比Go语言更贴近高级语言,语法硬性限制也少一些;是一门偏向快速应用的语言,也可以说是一个集成工具;

    • Gox语言主要优势有三点:

      • 第一,Gox语言本身只有一个可执行文件,绿色免配置,下载即可使用,无需安装Go语言环境,无需编译,非常适合快速制作原型以及云服务器上的远程开发;
      • 第二,Gox中可以直接使用绝大多数Go语言标准库中的对象和方法函数,也内置了很多常用、优秀的第三方库,充分发挥Go语言多年积累的资源优势;
      • 第三,与很多其他主流语言不同,Gox语言着力解决了GUI图形界面编程的问题,内置了基于Sciter的图形界面编程库,直接可以进行快捷高效的跨平台图形界面开发(Sciter只需下载一个动态链接库文件,执行和分发时附带上即可,放置在系统路径中或者与Gox主程序相同目录下即可),特别适合编写演示原型系统,也经历了一些中小型系统的检验,尤其是作为轻量级的微服务后台。

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

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

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

    相关文章

      网友评论

          本文标题:Gox语言入门9:布尔类型的数据

          本文链接:https://www.haomeiwen.com/subject/xybelrtx.html