go入门学习-运算符

算数运算符

func main()  {
	var a=10
	var b=1
	fmt.Println(a+b)
	fmt.Println(a-b)
	fmt.Println(a*b)
	fmt.Println(a/b)
	fmt.Println(a%b)
	//++(自增)和--(自减)在go语言中是独立的语句,不是运算符
	a++
	fmt.Println(a)
	a--
	fmt.Println(a)
}


关系运算符

func main() {
	var a = 10
	var b = 1
	if a > b {
		fmt.Println("a>b")
	}
	if a >= b {
		fmt.Println("a>=b")
	}
	if b<a{
		fmt.Println("b<a")
	}
	if b<=a{
		fmt.Println("b<=a")
	}
	if b==1{
		fmt.Println("b==1")
	}
	if b!=a{
		fmt.Println("b!=a")
	}
}

逻辑运算符

func main()  {
	var a=true
	if a && true{
		fmt.Println("a && true")
	}
	if a || true{
		fmt.Println("b && true")
	}
	if !a {
		fmt.Println("!a")
	}
}

位运算符

位运算符对整数在内存中的二进制位进行操作
使用场景:ip计算(192.168.1.1)、权限计算、(0644)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

func main()  {
	//5的二进制数:101
	//2的二进制数:010
	var a=2
	var b=5
	//参与运算的两数对应的二进制相与(两位数均为1才为1)
	fmt.Println(a&b)//从左往右进行与运行,比较是否都是1;对比结果:000 打印结果:0
	//参与运算的两数对应的二进制相或(两位数有一个为1就为1)
	fmt.Println(a|b)//从左往右进行与运行,比较是否都是1;对比结果:111 打印结果:7

	//参与运算的两数对应的二进制相异或,当对应的二进制位相异时,结果为1(两位不一样则为1)
	fmt.Println(a^b)//从左往右进行与运行,比较是否都是1;对比结果:111 打印结果:7

	//将二进制位数向左移动指定的位数
	fmt.Println(b<<1)//左移指定位数,对比结果:1010 打印结果:10
	fmt.Println(1<<10)//左移指定位数,对比结果:10000000000 打印结果:1024

	//将二进制位数向右移动指定的位数
	fmt.Println(b>>1)//右移指定位数,对比结果:10 打印结果:2
	fmt.Println(b>>2)//右移指定位数,对比结果:1 打印结果:1
	fmt.Println(b>>3)//右移指定位数,对比结果:0 打印结果:0

	var m=int8(1)//只能存八位
	fmt.Println(m<<10)//左移指定位数,对比结果:10000000000 打印结果:0 注意:这里的变量申明的是int8,只有八位,左移十位超出了,只能装八位 00000000 打印结果:0
}

赋值运算符

func main() {
	var x int
	x = 10
	fmt.Println(x)
	x+=1
	fmt.Println(x)
	x-=1
	fmt.Println(x)
	x*=1
	fmt.Println(x)
	x/=1
	fmt.Println(x)
	x%=1
	fmt.Println(x)
	x<<=1
	fmt.Println(x)
	x>>=1
	fmt.Println(x)
	x&=1
	fmt.Println(x)
	x|=1
	fmt.Println(x)
	x^=1
	fmt.Println(x)
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值