Go 运算符补充

一 位运算符

二 其它运算符说明

特别说明:在 golang 中没有三元运算,如果要使用三元运算符合,可使用 if else来实现。

1 实战

package main
import (
   "fmt"
)
func main() {
   // 演示 & 和 *的使用
   a := 100
   fmt.Println("a 的地址=", &a)
   var ptr *int = &a
   fmt.Println("ptr 指向的值是=", *ptr)

   var n int
   var i int = 10
   var j int = 12
   // 传统的三元运算
   // n = i > j ? i : j
   if i > j {
      n = i
   } else {
      n = j
   }
   fmt.Println("n=", n) // 12
}

2 测试

a 的地址= 0xc0420080a8
ptr 指向的值是= 100
n= 12

三 案例实战

1 求两个数的最大值

2 求三个数的最大值

代码

package main

import (
   "fmt"
)

func main() {
   // 求两个数的最大值
   var n1 int = 10
   var n2 int = 40
   var max int
   if n1 > n2 {
      max = n1
   } else {
      max = n2
   }
   fmt.Println("max=", max)

   // 求出三个数的最大值思路:先求出两个数的最大值, 然后让这个最大值和第三数比较,再取出最大值
   var n3 = 45
   if n3 > max {
      max = n3
   }
   fmt.Println("三个数中最大值是=", max)
}

测试

max= 40
三个数中最大值是= 45

四 运算符的优先级

1 运算符的优先级一览表

2 对上图的说明

  • 运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序。如上表,上一行运算符总优先于下一行。

  • 只有单目运算符、赋值运算符是从右向左运算的。

3 梳理一下优先级

1:括号,++, --
2: 单目运算
3:算术运算符
4:移位运算
5:关系运算符
6:位运算符
7:逻辑运算符
8:赋值运算符
9:逗号

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值