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

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)
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44932835/article/details/120882099