Go 语言学习之运算符

算术运算符

        算术运算符有加号(+)、减号(-)、乘号(*)、除号(/)、取余(%),我们声明两个变量 a 和 b,并分别赋值 10 和 5,通过代码,我们演示算术运算符的用法。

func main() {  
    a := 10  
    b := 5  
    fmt.Println("a + b = ", a+b)  
    fmt.Println("a - b = ", a-b)  
    fmt.Println("a * b = ", a*b)  
    fmt.Println("a / b = ", a/b)  
    fmt.Println("a % b = ", a%b)
}

自增(++) 和 自减(--)

        自增和自减不是运算符,只能作为独立语句使用,不能用于表达式,不能放在变量名前面使用。通过代码,我们演示 ++ 和 -- 的用法。

func main() {  
    a := 10  
    b := 5  
    a++  
    b--  
    fmt.Println("a++:", a)  
    fmt.Println("b--:", b)
}

赋值运算符

        为了简化表达式,与大多数语言相同,Go 语言也提供了一些赋值运算符,有等号(=)、加等(+=)、减等(-=)、乘等(*=)、除等(/*)、取余等(%=),通过代码,我们演示赋值运算符的用法。

func main() {  
    aa := 50  
    aa += 10  
    fmt.Println("aa = ", aa)
    
    bb := 50  
    bb -= 10  
    fmt.Println("bb = ", bb)

    cc := 50  
    cc *= 10  
    fmt.Println("cc = ", cc)

    dd := 50  
    dd /= 10  
    fmt.Println("dd = ", dd)

    ff := 50  
    ff %= 10  
    fmt.Println("ff = ", ff)
}

关系运算符

        关系运算符主要用于流程控制语句中,在 Go 语言中,关系运算符有大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、等于等于(==)和不等于(!=),通过代码,我们演示关系运算符的用法。

func main() {
  
    if a > 5 && b > 5 {    
      fmt.Println("a > 5 且 b > 5")  
    }

  if a > 5 || b > 5 {   
      fmt.Println("a > 5 或 b > 5")  
    }

  if a > 5 && b >= 5 {    
      fmt.Println("a > 5 且 b >= 5")  
    }

  if a == b {    
      fmt.Println("a == b")  
    }

  if a != b {    
      fmt.Println("a != b")  
    }

  boolean := false  
  if !boolean {    
    fmt.Println("非假既真")  
    }
}

逻辑运算符

        逻辑运算符,同样主要用于流程控制语句中,在 Go 语言中,逻辑运算符有且(&&)、或(||)、非(!),代码演示同上面的关系运算符代码。

& 和 *

        取地址符(&)和指针运算符(*),不是所有对象都能进行取地址操作,但是变量总是能正确返回地址。指针运算符在等号左边时,可以更新目标对象,在等号右边时,可以获取目标对象。通过代码,我们演示取地址符和指针运算符的用法。

func main() {  
    x := 50  
    y := &x  
    *y++  
    z := *y  
    fmt.Println("y = ", y)  
    fmt.Println("x = ", x)  
    fmt.Println("z = ", z)
}

位运算符

        位运算符是对整数在内存中的二进制位进行操作。因为篇幅原因,本文我们不对位运算符做过多的介绍,在工作中,个人建议尽量少用或不用位运算符,原因是代码可读性不好。如果你对位运算符感兴趣,可自行查阅相关资料。

优先级

        最后,我们来介绍一下运算符的优先级,一元运算符的优先级最高,二元运算符的优先级分五个级别,从高往低分别是:

*/%<<>>&&^
+-|^
==!=<<=>>=
&&
||

        相同优先级的二元运算符,从左往右依次计算。此外,我们还可以使用小括号提升某个表达式中运算符的优先级。

输出结果:

a + b =  15a - b =  5a * b =  50a / b =  2a % b =  0a++: 11b--: 4aa =  60bb =  40cc =  500dd =  5ff =  0a > 5 或 b > 5a != b非假既真y =  0xc0000b4070x =  51z =  51
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值