Go语言之运算符
算术运算符
package main import "fmt" func main() { a := 2 b := 3 fmt.Print(a+b) // 5 加 fmt.Print("\n") fmt.Print(a-b) // -1 减 fmt.Print("\n") fmt.Print(a*b) // 6 乘 fmt.Print("\n") fmt.Print(a/b) // 0 除 打印出了一个int型直接把小数舍去 fmt.Print("\n") fmt.Print(a%b) // 3 求余 fmt.Print("\n") a++ // 自加 fmt.Print(a) // 3 fmt.Print("\n") b-- // 自减 fmt.Print(b) // 2 fmt.Print("\n") }
关系运算符
package main import "fmt" func main() { a := 2 b := 2 fmt.Print(a==b) // true 等于 fmt.Print("\n") fmt.Print(a!=b) // false 不等于 fmt.Print("\n") fmt.Print(a>b) // false 大于 fmt.Print("\n") fmt.Print(a<b) // false 小于 fmt.Print("\n") fmt.Print(a>=b) // true 大于等于 fmt.Print("\n") fmt.Print(a<=b) // true 小于等于 }
逻辑运算符
&&逻辑与运算符
如果两个操作数都不为零,则条件为真。(A && B)结果为真`||逻辑或运算符
如果两个操作数中的任何-个非零,则条件变为真。(A ||B)结果为真`!逻辑非运算符
用于反转其操作数的逻辑状态。如果条件为真,则逻辑非运算符将为假。!(A && B)结果为真`package main import "fmt" func main() { a := true b := true c := false fmt.Print(a&&b) // true 逻辑与 fmt.Print("\n") fmt.Print(a||b) // true 逻辑或 fmt.Print("\n") fmt.Print(a&&c) // false fmt.Print("\n") fmt.Print(a||c) // true fmt.Print("\n") fmt.Print(!a) // false 逻辑非 }
按位运算符
& 按位与:
都为1则结果为1| 按位或:
有一个为1则结果为1^ 按位异或:
对应不同数值时结果为1<< 左移:
把数整体向左移动>> 右移:
把数整体向右移动package main import "fmt" func main() { a := byte(0) b := byte(1) fmt.Print(a) // 0 fmt.Print("\n") fmt.Print(b) // 1 fmt.Print("\n") fmt.Print(a&b) // 1 fmt.Print("\n") fmt.Print(b&b) // 1 fmt.Print("\n") fmt.Print(a|b) // 1 fmt.Print("\n") fmt.Print(a^b) // 1 fmt.Print("\n") fmt.Print(a^a) // 0 fmt.Print("\n") fmt.Print(b^b) // 0 fmt.Print("\n") fmt.Print(b<<1) // 2 fmt.Print("\n") fmt.Print(b>>1) // 0 }
赋值运算符
=
表达式的值赋给一个左值 C=A+B 将A+B表入式结果赋値给C+=
相加后再赋值 C+=A 等于C=C+A-=
相减后再赋值 C-=A 等于C=C-A*=
相乘后再赋值 C=A 等于C=CA/=
相除后再赋值 C/=A 等于C=C/A%=
求余后再赋值 C%=A 等于C=C%A<<=
左移后再赋值 C<<=2 等于C=C<<2>>=
右移后再赋值 C>>=2 等于C=C>>2&=
按位与后再赋值 C&=2 等于C=C&2^=
按位异或后再赋值 C^=2 等于C=C^2|=
按位或后再赋值 C|=2 等于C=C|2
Comment here is closed