zoukankan      html  css  js  c++  java
  • 区块链基础语言(九)——Go语言运算符

    Go语言运算符主要包括:算数运算符、关系运算符、逻辑运算符、位运算符、赋值运算符和其他运算符。

    一、算数运算符

    算数运算符和数学中的运算符基本类似,但是需要注意的是:
    a. 参加算数运算的是两个相同类型的算数,不同类型的算数不能参加运算,且运算后的结果也是同一类型;
    b. 在Go语言里自增(自减)表达式只能是后自增(自减)表达式,且自增表达式独立成行,不能参与其他运算(包括赋值)。
    现以A=10,B=20为例,其运算结果如表1所示。

    示例如下:


    二、关系运算符

    不同于c语言的关系运算结果为0或1,Go语言的关系运算结果为true或false。Go语言有6种关系运算,如表2所示,现以A=4,B=3为例,其运算结果如表2所示。

    示例如下:


    三、逻辑运算符

    逻辑运算符有三种:与、或、非。参加逻辑运算的对象都是布尔型,其运算符和术语如表3所示。

    示例如下:


    四、位运算符

    4.1 位运算符

    与逻辑运算符的运算对象的类型都是布尔型不同,位运算符(按位与、按位或、异或、按位置零)的运算对象是两个数的二进制数相对应的二进位,位运算符(左移、右移)针对一个数的二进制数的左移或右移。其运算方式如表4所示。

    4.2 位运算对整数二进制位进行操作

    二进制数据是用0和1两个数码表示的数,对两个整数的二进制位进行位运算,有按位与、按位或、异或和按位置零四种,其运算规则为:
    a. 按位与(p&q):当对应的二进制位均为1,按位与的结果为1,否则均为0;
    b. 按位或(p|q):当对应的二进制位均为0,按位或的结果为0,否则均为1;
    c. 异或(p^q):当对应的二进制位相同(均为0或均为1),异或结果为0;不同,异或结果为1;
    d. 按位置零(p&^q):如表5所示,当q取0,则按位置零得结果和p的数据一致;当q取1,则按位置零得结果为0。

    示例如下:


    五、赋值运算符

    赋值运算符包含普通的赋值运算符(=),也包含先进行算数运算(+、-、*、/、%)或位运算(&、|、^)、再进行赋值的赋值运算符,如表6所示。

    注:左移或右移的位数必须是整数型常量或整数型字面常量。


    六、其他运算符

    其他运算符包含取地址运算符和取值运算符,如表7所示。这些运算符在指针这一章节再详细讲解。

    示例如下:

    七、运算符优先级

    Go语言运算符有一元运算符和二元运算符,其中一元运算符的优先级别比二元运算符高,如表8所示。


    参考资料
    [1] 许式伟,吕桂华.Go语言编程[M].北京:人民邮电出版社,2012:26-27.

  • 相关阅读:
    关于DataGridView的数据源绑定字符串两个值得注意的问题
    .Net 第三方控件(转)
    sql语句linq语言lambda表达式对照
    InvokeRequired 属性 与Invoke方法
    .net垃圾回收机制
    const与readonly的区别
    Developer Express控件组合中的GridControl控件,如何自动显示每一行的序号
    XtraGrid控件6——2种GridColumn的属性
    如何让应用程序仅运行一个实例(c#)
    DevExpress控件之GridControl控件
  • 原文地址:https://www.cnblogs.com/efish/p/go-language-operator.html
Copyright © 2011-2022 走看看