08-Golang中的运算符

运算符介绍

运算符是一种特殊的符号,用来表示数据的运算、赋值和比较

  • 1.算数运算符
  • 2.赋值运算符
  • 3.比较运算符/关系关系运算符
  • 4.逻辑运算符
  • 5.位运算符
  • 6.其他运算符

算数运算符

基本介绍

算数运算符是对数值类型的变量进行运算的,比如:加减乘除
在这里插入图片描述

package main
import (
	"fmt"
)


func main(){
	
	//如果运算的数都是整数,那么除后,去掉小数部分,保留整数部分
	fmt.Println(10 / 4)
	
	var n1 float32 = 10 / 4
	fmt.Println(n1)

	//若希望保留小数部分,则需要有浮点数参与运算
	var n2 float32 = 10.0 / 4
	fmt.Println(n2)

	//演示%的使用
	fmt.Println(10 % 3)

	// ++和--的使用
	var i int = 10
	i++ //等价i = i + 1
	fmt.Println(i)
	i-- 等价i = i - 1
	fmt.Println(i)
}
package main
import (
	"fmt"
)


func main(){
	
	//加入还有97天放假,问还有几个星期多少天
	var days int = 97
	var week int = days / 7
	var day int = days % 7
	fmt.Printf("%d个星期零%d天\n", week, day)

	//定义一个变量保存华氏温度,华氏温度转换摄氏温度的公式为
	//5/9*(华氏温度-100),请求出华氏温度对应的摄氏温度
	var h float32 = 134.2
	var s float32 = 5.0 / 9 * (h - 100)
	fmt.Printf("对应的摄氏温度为%v", s)
	
}

细节说明

  • 1.对于除号"/",它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分二舍弃小数部分。

  • 2.当对一个数取模时,可以等价a%b=a-a/b*b,这样我们可以看到取模的一个本质运算

  • 3.Golang的自增自检只能当做一个独立语言使用时,不能使用b:=a++或者b:a–

  • 4.Golang的++和–只能泻在变量的后面,不能写在变量的前面,即只有a++,a–没有++a,- -a

    例题:

关系运算符(比较运算符)

基本介绍

  • 1.关系运算符的结果都是bool型,也就是要么是true,要么是false
  • 2.关系表达式经常用在if结构的条件中或循环结构的条件中
    在这里插入图片描述
package main
import (
	"fmt"
)


func main(){
	//演示关系运算符的使用
	var n1 int = 9
	var n2 int = 8
	fmt.Println(n1 == n2)
	fmt.Println(n1 != n2)
	fmt.Println(n1 > n2)
	fmt.Println(n1 >= n2)
	fmt.Println(n1 < n2)
	fmt.Println(n1 <= n2)
	flag := n1 > n2
	fmt.Println("flag",flag)
}

在这里插入图片描述

细节说明

  • 1.关系运算符的结果都是bool型,也就是要么是true,要么是false
  • 2.关系运算符的表达式,我们成为关系表达式:a>b
  • 3.比较运算符"==“不能误写成”="

逻辑运算符

基本介绍

用于连接多个条件(一般是就是关系表达式),最终的结果也是一个bool值。
在这里插入图片描述

package main
import (
	"fmt"
)


func main(){
	//演示逻辑运算符的使用 &&
	var age int = 40
	if age > 30 && age < 50{
		fmt.Println("ok1")
	}

	if age > 30 && age < 40{
		fmt.Println("ok2")
	}
	//演示逻辑运算符的使用 ||
	
	if age > 30 || age < 50{
		fmt.Println("ok3")
	}

	if age > 30 || age < 40{
		fmt.Println("ok4")
	}
	//演示逻辑运算符的使用 !
	
	if age > 30 {
		fmt.Println("ok5")
	}

	if !(age > 30){
		fmt.Println("ok2")
	}
}

细节说明

  • 1.&&也叫短路与:如果第一个条件为false,则第二个条件不会判断,最终结果为false
  • 2.||也叫短路或:如果第一个条件为true,则第二个条件不会判断,最终结果为true

赋值运算符

基本介绍

赋值运算符就是将某个运算后的值,赋给指定的变量。
在这里插入图片描述

package main
import (
	"fmt"
)


func main(){
	
	a := 19
	b := 12
	fmt.Printf("交换前的情况是a = %v,b = %v\n",a , b)
	
	//定义一个临时变量
	t := a
	a = b
	b =t
	fmt.Printf("交换后的情况是a = %v,b = %v\n",a , b)
	
	//复合赋值的操作
	a += 17
	fmt.Printf("a=", a)
}

细节说明

  • 1.运算顺序从右往左
  • 2.赋值运算的左边是能变量,右边可以是变量、表达式、常量值
  • 3.复合赋值运算符等价于以下结果:a += 3等价于 a = a + 3

运算符优先级

  • 1.运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序。如下表上一行运算符总优于下一行。
  • 2.只有单目运算符、赋值运算符是从右到左运算的。
    在这里插入图片描述
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值