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