Go--运算符


一、运算符

1.1、运算符的基本介绍

  • 运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等
  • 运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等
  1. 算术运算符
  2. 赋值运算符
  3. 比较运算符/关系运算符
  4. 逻辑运算符
  5. 位运算符
  6. 其它运算符

1.2 算术运算符

  • 算术运算符是对数值类型的变量进行运算的,比如:加减乘除。在 Go 程序中使用的非常多

1.2.1、算术运算符的一览表

在这里插入图片描述

在这里插入图片描述

注意点:

  • 只有相同类型的数据才能进行运算

1.2.2 、演示 / 的使用的特点

  • 如果运算的数值都是整数,那么除后,将会去除小数点后的部分,保留整数
  • 如果我们希望保留小数部分,则需要有浮点数参与运算
	// 如果运算的数值都是整数,那么除后,将会去除小数点后的部分,保留整数
	var n1 float32 = 10 / 4
	fmt.Println(n1) // 2

	// 如果我们希望保留小数部分,则需要有浮点数参与运算

	var n2 float32 = 10.0 / 4
	fmt.Println(n2) // 2.5
----------

		var num1 int16 = 10
		var num2 int32 = 20
		var rest = num2 / num1  // 不可以因为类型不同不可以进行运算
		fmt.Println(rest)

1.2.3、取余操作

fmt.Println("10%3=", 10%3) //等于1,  取余数操作

1.2.4、 ++ 和 --的使用

	var i int = 10
	i++ // 等于 i = i+1
	fmt.Println(i)

	i--  // 等于i = i -1
	fmt.Println(i)

注意:的自增自减只能当做一个独立语言使用时,也就是要单独的占一行并不能赋值

i = i++  // 自增自减只能当做一个独立语言使用时,不能这样使用

1.2.5、算术运算符使用的注意事项

1、对于除号 "/",它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃
小数部分。 例如: x := 19/5 ,结果是 3
2、 当对一个数取模时,可以等价 a%b=a-a/b*b , 这样我们可以看到 取模的一个本质运算。
3、 Golang 的自增自减只能当做一个独立语言使用时,不能这样使用: i = i++ 
4、Golang 的++-- 只能写在变量的后面,不能写在变量的前面,即:只有 a++ a-- 没有 ++a  --a
5、Golang 的设计者去掉 c / java 中的 自增自减的容易混淆的写法,让 Golang 更加简洁,统一。(强
制性的)

1.2.6、练习

	i = i++                         
	fmt.PrintLn(i)
	// 结果是什么? 为什么?


	var  i int =  10
	if i++ > 10{
		fmt.Println("ok")
	}
	//结果是什么? 为什么
  • 以上 结果都是报错 因为自增自减只能当做一个独立语言使用时,不能这样使用

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

基本介绍

1、关系运算符的结果都是 bool 型,也就是要么是 true,要么是 false
2、 关系表达式 经常用在 if 结构的条件中或循环结构的条件中

在这里插入图片描述

	n1 := 8
	n2 := 9

	fmt.Println(n1 == n2) // false
	fmt.Println(n1 != n2) // true
	fmt.Println(n1 > n2)  // false
	fmt.Println(n1 < n2)  // true
	fmt.Println(n1 >= n2) // false
	fmt.Println(n1 <= n2) // ture

	flag := n1 > n2
	fmt.Println(flag)  // false

1、关系运算符的结果都是 bool 型,也就是要么是 true,要么是 false2、关系运算符组成的表达式,我们称为关系表达式: a > b
3、比较运算符"=="不能误写成 "=" !!

1.4、逻辑运算符

  • 用于连接多个条件(一般来讲就是关系表达式),最终的结果也是一个 bool 值

	var age int = 8

	if age > 30 && age < 50 {
		fmt.Println("ok")
	} else if age < 10 {
		fmt.Println("年龄不符合")
	} else {
		fmt.Println("大于50岁")
	}  // 年龄不符合
-----------
	if age > 30 || age < 50 {
		fmt.Println("ok")
	} else if age > 30 || age < 40 {
		fmt.Println("在30---40之间")
	} else {
		fmt.Println("无规则")
	}// ok
	------
	if !(age > 30) {  
		fmt.Println("小于30岁")
	} else {
		fmt.Println("大于30")
	}   // 小于30岁

注意

1&&也叫短路与:如果第一个条件为 false,则第二个条件不会判断,最终结果为 false
2||也叫短路或:如果第一个条件为 true,则第二个条件不会判断,最终结果为 true
func test() bool {
	return true
}

func main() {
	var i int = 10

	// 因为 i < 9 不成立为false,后面test()不执行
	if i < 9 && test() {
		fmt.Println("ok...")
	}

	// 说明 因为i > 9 为true,因此后面test()将不执行
	if 1 > 9 || test() {   //
		fmt.Println("hello ")
	}

1.4、赋值运算符

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

在这里插入图片描述

  • 有两个变量,a 和 b,要求将其进行交换,但是不允许使用中间变量,最终打印结果
	// 方式一
	a := 10
	b := 20
	a, b = b, a
	fmt.Println(a, b)


	// 方式二
	a = a + b
	fmt.Println(a, b)  // 30, 20
	b = a - b
	fmt.Println(a, b) // 30 , 10
	a = a - b
	fmt.Println(a, b)  // 20 , 10

在这里插入图片描述


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lovely_red_scarf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值