zoukankan      html  css  js  c++  java
  • go-006-运算符

    运算符用于在程序运行时执行数学或逻辑运算。

    Go 语言内置的运算符有:

    • 算术运算符
    • 关系运算符
    • 逻辑运算符
    • 位运算符
    • 赋值运算符
    • 其他运算符

    算术运算符

    下表列出了所有Go语言的算术运算符。假定 A 值为 10,B 值为 20。

    关系运算符

    下表列出了所有Go语言的关系运算符。假定 A 值为 10,B 值为 20。

    逻辑运算符

    下表列出了所有Go语言的逻辑运算符。假定 A 值为 True,B 值为 False。

    位运算符

    位运算符对整数在内存中的二进制位进行操作。

    下表列出了位运算符 &, |, 和 ^ 的计算:

    pqp & qp | qp ^ q
    0 0 0 0 0
    0 1 0 1 1
    1 1 1 1 0
    1 0 0 1 1

    假定 A = 60; B = 13; 其二进制数转换为:

    A = 0011 1100
    B = 0000 1101
    -----------------
    A&B = 0000 1100
    A|B  = 0011 1101
    A^B = 0011 0001
    ~A   = 1100 0011

    Go 语言支持的位运算符如下表所示。假定 A 为60,B 为13:

    赋值运算符

    下表列出了所有Go语言的赋值运算符。

    其他运算符

    下表列出了Go语言的其他运算符。

    package main
    
    import "fmt"
    
    func main() {
       var a int = 4
       var b int32
       var c float32
       var ptr *int
    
       /* 运算符实例 */
       fmt.Printf("第 1 行 - a 变量类型为 = %T
    ", a );
       fmt.Printf("第 2 行 - b 变量类型为 = %T
    ", b );
       fmt.Printf("第 3 行 - c 变量类型为 = %T
    ", c );
    
       /*  & 和 * 运算符实例 */
       ptr = &a    /* 'ptr' 包含了 'a' 变量的地址 */
       fmt.Printf("a 的值为  %d
    ", a);
       fmt.Printf("*ptr 为 %d
    ", *ptr);
    }
    //以上实例运行结果:
    //第 1 行 - a 变量类型为 = int
    //第 2 行 - b 变量类型为 = int32
    //第 3 行 - c 变量类型为 = float32
    //a 的值为  4
    //*ptr 为 4

    运算符优先级

    有些运算符拥有较高的优先级,二元运算符的运算方向均是从左至右。下表列出了所有运算符以及它们的优先级,由上至下代表优先级由高到低:

    可以通过使用括号来临时提升某个表达式的整体运算优先级。

  • 相关阅读:
    Qt 交叉编译经典错误——头文件包含
    Linux-Qt使用QThread多线程isRunning标志量问题
    个人总结——C、C++指针传参和初始化字符空间
    ARM板设置开机自启动应用程序
    python--ModuleFoundError
    php输出错误屏蔽的函数
    类QQ账号生成阐述
    Python基础(四)—日期类型
    Python基础(三)—字典和集合
    Python基础(二)—列表和元组
  • 原文地址:https://www.cnblogs.com/bjlhx/p/6817619.html
Copyright © 2011-2022 走看看