欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > go运算符

go运算符

2025/2/7 4:23:18 来源:https://blog.csdn.net/Android_xue/article/details/145451796  浏览:    关键词:go运算符

内置运算符

  • 算术运算符
  • 关系运算符
  • 逻辑运算符
  • 位运算符
  • 赋值运算符

算术运算符

在这里插入图片描述

注意: ++(自增)和–(自减)在 Go 语言中是单独的语句,并不是运算符

package mainimport "fmt"func main() {fmt.Println("10+3=", 10+3) // =13fmt.Println("10-3=", 10-3) // =7fmt.Println("10*3=", 10*3) // =30//除法注意:如果运算的数都是整数,那么除后,去掉小数部分,保留整数部分fmt.Println("10/3=", 10/3)     //3fmt.Println("10.0/3=", 10.0/3) //3.3333333333333335// 取余注意 余数=被除数-(被除数/除数)*除数fmt.Println("10%3=", 10%3)     // =1fmt.Println("-10%3=", -10%3)   // -1fmt.Println("10%-3=", 10%-3)   // =1fmt.Println("-10%-3=", -10%-3) // =-1
}

注意:在 golang 中,++ 和 – 只能独立使用 错误写法如下:

var i int = 8
var a int
a = i++ //错误,i++只能独立使用
a = i-- //错误, i--只能独立使用

注意:在 golang 中没有前++ 错误写法如下:

var i int = 1
++i // 错误,在 golang 没有 前++
--i // 错误,在 golang 没有 前--
fmt.Println("i=", i)

++ --正确写法:

package mainimport "fmt"func main() {var i int = 1i++fmt.Println("i=", i) // 2
}

关系运算符

在这里插入图片描述

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

逻辑运算符

在这里插入图片描述

package mainimport "fmt"func main() {//演示逻辑运算符的使用 &&var age int = 40if 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("ok6")}
}

赋值运算符

在这里插入图片描述

package mainimport "fmt"func main() {d := 8 + 2*8 // 赋值运算从右向左fmt.Println(d) // 24x := 10x += 5 //x=x+5fmt.Println("x += 5 的值:", x) // 15y := 10y -= 5 //y=y-5fmt.Println("y -= 5 的值:", y) // 5a := 10a *= 5 //a=a*5fmt.Println("a *= 5 的值:", a) // 50b := 10.0b /= 5fmt.Println("b /= 5 的值:", b) // 2c := 10c %= 3fmt.Println("c %= 3 的值:", c) // 1
}

位运算符

位运算符对整数在内存中的二进制位进行操作。
在这里插入图片描述

package mainimport "fmt"func main() {/*& 两位均为 1 才为 1| 两位有一个为 1 就为^ 相异或 两位不一样则为 1<< 左移 n 位就是乘以 2 的 n 次方。 “a<<b”是把 a 的各二进位全部左移 b 位,高位丢弃,低位补 0。>> 右移 n 位就是除以 2 的 n 次方。*/var a int = 5              // 101var b int = 2              // 010fmt.Println("a&b=", a&b)   // 000 值 0fmt.Println("a|b=", a|b)   // 111 值 7fmt.Println("a^b=", a^b)   // 111 值 7fmt.Println("5>>2=", a>>b) // 5 右移 2 位 1fmt.Println("5<<2=", a<<b) // 5 左移 2 位 10100fmt.Println("5<<1=", 5<<1) // 1010fmt.Println("5>>1=", 5>>1) // 10fmt.Println("7>>2=", 7>>2) // 1
}

参考文献

https://go.dev/doc/tutorial/getting-started

https://gobyexample.com/

https://www.w3schools.com/go/

https://go.dev/doc/tutorial/

https://www.geeksforgeeks.org/golang-tutorial-learn-go-programming-language/

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com