zoukankan      html  css  js  c++  java
  • go语言基础之运算符

    一、运算符分类

    1.1 算术运算符

    运算符

    术语

    示例

    结果

    +

    10 + 5

    15

    -

    10 - 5

    5

    *

    10 * 5

    50

    /

    10 / 5

    2

    %

    取模(取余)

    10 % 3

    1

    ++

    后自增,没有前自增

    a=0; a++

    a=1

    --

    后自减,没有前自减

    a=2; a--

    a=1

    1.2 关系运算符

    运算符

    术语

    示例

    结果

    ==

    相等于

    4 == 3

    false

    !=

    不等于

    4 != 3

    true

    小于

    4 < 3

    false

    大于

    4 > 3

    true

    <=

    小于等于

    4 <= 3

    false

    >=

    大于等于

    4 >= 1

    true

    1.3 逻辑运算符

    运算符

    术语

    示例

    结果

    !

    !a

    如果a为假,则!a为真;

    如果a为真,则!a为假。

    &&

    a && b

    如果a和b都为真,则结果为真,否则为假。

    ||

    a || b

    如果a和b有一个为真,则结果为真,二者都为假时,结果为假。

    示例:

    package main //必须有一个main包
    
    import "fmt"
    
    func main() {
    	fmt.Println("4 > 3 结果:", 4 > 3)
    	fmt.Println("4 != 3 结果:", 4 != 3)
    
    	//非
    	fmt.Println("!(4 > 3) 结果:", !(4 > 3))
    	fmt.Println("!(4 != 3) 结果:", !(4 != 3))
    
    	//&& 与, 并且,左边右边都为真,结果才为真, 其它都为假
    	fmt.Println("true && true 结果:", true && true)
    	fmt.Println("true && false 结果:", true && false)
    
    	// ||, 或者, 左边右边都为假,结果才为假,其它都为真
    	fmt.Println("true || false 结果:", true || false)
    	fmt.Println("false || false 结果:", false || false)
    
    	//非0就是真,0就是假(但是go语言的bool类型和int不兼容)
    	//判断一个数,在0-11的范围
    	a := 11   //a :=8  结果:true 和 a := 11  结果:false
    	fmt.Println("0 <= a && a <= 10 结果为:", 0 <= a && a <= 10)
    
    }

    #执行结果:

    4 > 3 结果: true
    4 != 3 结果: true
    !(4 > 3) 结果: false
    !(4 != 3) 结果: false
    true && true 结果: true
    true && false 结果: false
    true || false 结果: true
    false || false 结果: false
    0 <= a && a <= 10 结果为: false

     

    1.4 位运算符

    运算符

    术语

    说明

    示例

    &

    按位与

    参与运算的两数各对应的二进位相与

    60 & 13 结果为12

    |

    按位或

    参与运算的两数各对应的二进位相或

    60 | 13 结果为61

    ^

    异或

    参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1

    60 ^ 13 结果为240

    << 

    左移

    左移n位就是乘以2的n次方。 左边丢弃,右边补0。

    4 << 2 结果为16

    >> 

    右移

    右移n位就是除以2的n次方。 右边丢弃,左边补位。

    4 >> 2 结果为1

    1.5 赋值运算符

    运算符

    说明

    示例

    =

    普通赋值

    c = a + b 将 a + b 表达式结果赋值给 c

    +=

    相加后再赋值

    c += a 等价于 c = c + a

    -=

    相减后再赋值

    c -= a 等价于 c = c - a

    *=

    相乘后再赋值

    c *= a 等价于 c = c * a

    /=

    相除后再赋值

    c /= a 等价于 c = c / a

    %=

    求余后再赋值

    c %= a 等价于 c = c % a

    <<=

    左移后赋值

    c <<= 2 等价于 c = c << 2

    >>=

    右移后赋值

    c >>= 2 等价于 c = c >> 2

    &=

    按位与后赋值

    c &= 2 等价于 c = c & 2

    ^=

    按位异或后赋值

    c ^= 2 等价于 c = c ^ 2

    |=

    按位或后赋值

    c |= 2 等价于 c = c | 2

    1.6 其他运算符

    运算符

    术语

    示例

    说明

    &

    取地址运算符

    &a

    变量a的地址

    *

    取值运算符

    *a

    指针变量a所指向内存的值

    1.7 运算符优先级

    在Go语言中,一元运算符拥有最高的优先级,二元运算符的运算方向均是从左至右。

    下表列出了所有运算符以及它们的优先级,由上至下代表优先级由高到低:

    优先级

    运算符

    7

    ^      !  

    6

    *       /    %    <<    >>    &      &^

    5

    +      -     |      ^

    4

    ==   !=   <    <=    >=    >

    3

    <-

    2

    &&

    1

    ||

    示例:

    10 - 2 * 8 - 4  ===> 10 - 16 -4
    
    10 - 2 * (8 - 4) ===> 10 - 8 = 2
    

      

      

  • 相关阅读:
    C# 0xC0000005 捕获
    “Task”未包含“Run”的定义
    Win10 清理自带APP
    SQLServer 2014 内存优化表
    PHP 常用函数
    Android开发之旅:环境搭建及HelloWorld
    C# PropertyGrid控件应用心得
    SQL Server 连接池 (ADO.NET) MSDN
    查看数据库连接池函数
    WCF客户端调用服务器端错误:"服务器已拒绝客户端凭据"。
  • 原文地址:https://www.cnblogs.com/nulige/p/10201689.html
Copyright © 2011-2022 走看看