写点什么

Go 语言入门 02—运算符

作者:良猿
  • 2022-10-20
    湖北
  • 本文字数:1223 字

    阅读完需:约 1 分钟

Go语言入门02—运算符

算术运算符

假设 a 为 3,b 为 2



代码示例:


package main
import "fmt"
func main() { a := 3 b := 2 fmt.Println("a + b = ", a + b) fmt.Println("a - b = ", a - b) fmt.Println("a * b = ", a * b) fmt.Println("a / b = ", a / b) fmt.Println("a % b = ", a % b) a++ b-- fmt.Println("a ++ = ", a) fmt.Println("b -- = ", b)}
复制代码


运行结果:


关系运算符

假设 a 为 3,b 为 2



代码示例:


package main
import "fmt"
func main() { a := 3 b := 2 fmt.Println("a == b : ", a == b) fmt.Println("a != b : ", a != b) fmt.Println("a > b : ", a > b) fmt.Println("a < b : ", a < b) fmt.Println("a >= b : ", a >= b) fmt.Println("a <= b : ", a <= b)}
复制代码


运行结果:


逻辑运算符

假设 a 为 true,b 为 false



代码示例:


package main
import "fmt"
func main() { a := true b := false fmt.Println("a && b : ", a && b) fmt.Println("a || b : ", a || b) fmt.Println("!a : ", !a) fmt.Println("!b : ", !b)}
复制代码


运行结果:



注意:逻辑运算符通常用于在 if 条件中做判断使用,并且逻辑运算符可以与关系运算符结合使用,例如 a > b && b > c,当 a 大于 b,并且 b 大于 c 时则为 true,否则为 false。

位运算符

位运算符是对整数的二进制进行计算


假设 a 为 3,b 为 2


则 a 转为二进制为:0011,b 的二进制为:0010


a & b的计算方式步骤:第一步:将a和b转为二进制a = 0011    b = 0010第二步:将转为二进制的两个数进行按位与运算按位与运算规则:对应的两位数都为1则结果为1,计算结果如下a:   0011b:   0010&   ------结果:0010
复制代码



示例代码:


package main
import "fmt"
func main() { a := 3 b := 2 fmt.Println("a & b = ", a & b) fmt.Println("a | b = ", a | b) fmt.Println("a ^ b = ", a ^ b) fmt.Println("a << 2 = ", a << 2) fmt.Println("a >> 2 = ", a >> 2)}
复制代码


运行结果:


赋值运算符



代码示例:


package main
import "fmt"
func main() { a := 3 b := 2 var c int c = a + b fmt.Println("c = ", c) a += b fmt.Println("a = ", a) a -= b fmt.Println("a = ", a) a *= b fmt.Println("a = ", a) a /= b fmt.Println("a = ", a)}
复制代码


运行结果:


运算符优先级

由上到下代表优先级从高到低,相同优先级的运算符在计算的过程中按照从左往右依次计算,同时还可以临时使用小括号提高优先级。



代码示例:


package main
import "fmt"
func main() { a := 20 b := 10 c := 15 d := 5 fmt.Println("(a + b) * c / d = ", ( a + b ) * c / d) fmt.Println("((a + b) * c) / d = ", (( a + b) * c) / d) fmt.Println("(a + b) * (c / d) = ", (a + b) * (c / d)) fmt.Println("a + (b * c) / d = ", a + (b * c) / d)}
复制代码


运行结果:



发布于: 刚刚阅读数: 2
用户头像

良猿

关注

还未添加个人签名 2019-02-13 加入

还未添加个人简介

评论

发布
暂无评论
Go语言入门02—运算符_Go_良猿_InfoQ写作社区