基本数据——算术运算符
一、运算符
1.1算术运算符
+ - * / %(求余) ++ --
1.2关系运算符
== != > < >= <=
package main
import "fmt"
func main() {
/*
算术运算符:+ - * / %(求余) ++ --
关系运算符:== != > < >= <=
*/
a:=10
b:=3
sum:=a+b
fmt.Printf("%d+%d=%d\n",a,b,sum)
sub:=a-b
fmt.Printf("%d-%d=%d\n",a,b,sub)
mul:=a*b
fmt.Printf("%d*%d=%d\n",a,b,mul)
//取商
//取余
div:=a/b
mod:=a%b
fmt.Printf("%d/%d=%d\n",a,b,div)
fmt.Printf("%d %% %d=%d\n",a,b,mod)
c:=3
c++
fmt.Println(c)
c--
fmt.Println(c)
a1:=3
b1:=5
c1:=3
rest1:=a1>b1
rest2:=b1>c1
fmt.Printf("%T,%t\n",rest1,rest1)
fmt.Printf("%T,%t\n",rest2,rest2)
rest3:= a==b
fmt.Printf("%T,%t",rest3,rest3)
}
1.3逻辑运算符
&& ||
操作数必须是bool,运算结果也是bool
&&:所有操作数都为真,结果为真,一个为假,结果为假。“一假则假,全真为真”
||:“一真则真,全假为假”
!:相反
package main
import "fmt"
func main() {
f1:=true
f2:=false
f3:=true
rest1:=f1&&f2
fmt.Printf("rest1:%t\n",rest1)
rest2:=f1&&f2&&f3
fmt.Printf("rest2:%t\n",rest2)
rest3:=f1||f2
fmt.Printf("rest3:%t\n",rest3)
rest4:=f1||f2||f3
fmt.Printf("rest4:%t\n",rest4)
fmt.Println(false||false||false)
a:=3
b:=2
c:=5
rest5:= a>b && a==b && a<(c/b)
fmt.Println(rest5)
}
1.3位运算符
& | ^ &^
按位&:对应值都为1才为1,有一个为0就位0
按位|:对应的值如果都是0才为0,有一个为1就是1
异或^:
- 二元:a^b:对应值不同为1,相同为0
- 一元:^a 按位取反,1->0,0->1
位清空&^: 对于a%^b,对于b上的每个数值,如果为0,则取a对应位上的数值,如果为1,则结果位就取0
package main
import "fmt"
func main() {
a:=60
b:=13
fmt.Printf("%d,%b\n",a,a)
fmt.Printf("%d,%b\n",b,b)
/*
a:60 0011 1100
b:13 0000 1101
&:12 0000 1100
|:61 0011 1101
^:49 0011 0001
&^:48 0011 0000
*/
rest1:=a&b
fmt.Println(rest1)
rest2:=a|b
fmt.Println(rest2)
rest3:=a^b
fmt.Println(rest3)
rest4:=a&^b
fmt.Println(rest4)
}