Go语言入门到实战——04Go语言里运算符的介绍

本文介绍了Go语言中的运算符,包括算术运算符、比较运算符、逻辑运算符和位运算符。特别地,提到了Go语言中数组比较的特性和位运算符&^的独特用法,并通过示例代码进行了说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Go语言入门到实战——00主目录
在上一章我们讲解了go语言的数据类型,这里我们将开始go里面运算符的讲解。
1.算术运算符
在这里插入图片描述
上面需要注意的是自增和自减只能用在后面,不可以放在前面,比如++a和–a就是不行的。这里读者可以自己测试。
2.比较运算符
在这里插入图片描述
关于go语言里面的比较运算符的使用和其它语言是有所不同的,这里举个例子:

对于==符号,当数组的维数和元素个数一致的时候是可以使用==符号来进行比较的,
如果每一个元素的值都是一样的,那么就是True,否则就是False,对比c或者c++语言,
实际上比较的是引用地址的值

举例分析:

func TestArray(t *testing.T) {
	a := [...]int{1, 2, 3, 4}
	// b := [...]int{1, 2, 3, 4, 5}
	c := [...]int{1, 2, 4, 5}
	d := [...]int{1, 2, 3, 4}
	//t.Log(a == b)  这一行写出来会报编译错误,虽然维数是一样的,但是元素个数不同
	t.Log(a == c)
	t.Log(a == d)
}

在这里插入图片描述
3.逻辑运算符
在这里插入图片描述
4.位运算符
在这里插入图片描述
除了上面的运算符外,它们和主流的语言是一致的,但是还有一个运算符&^是不同的,它的运算方式是右边位为0,那么结果和左边保持一致,右边位为1,那么结果就为0

1 &^ 0 = 1 
0 &^ 0 = 0
1 &^ 1 = 0 
0 &^ 1 = 0
func TestBit(t *testing.T) {
	const (
		Monday    = 1 << iota //0001
		Tuesday               //0010
		Wednesday             //0100
	)
	var a int = 7 // 0111
	t.Log(a&^Monday, a&^Tuesday, a&^Wednesday)
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值