go语言渐入佳境[6]-operator运算符

运算符

和其他语言一样,Go语言支持多种运算符,用于对变量进行运算。

1
2
3
4
5
6
7
8
9
10
11
12
13
package main

import "fmt"

func main(){

//math()
//relation()
//logic()

//wei()
Assign()
}

算术运算符

1
2
3
4
5
6
7
8
9
10
11
12
func math(){


a := 4
b:=2

fmt.Printf("a+b的结果为:%d\n", a+b)
fmt.Printf("a-b的结果为:%d\n", a-b)
fmt.Printf("a*b的结果为:%d\n", a*b)
fmt.Printf("a/b的结果为:%d\n", a/b)

}

关系运算符

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
func relation(){
a := 4
b := 2
if(a==b){
fmt.Printf("a与b相同\n")
}else{
fmt.Printf("a与b不同\n")
}

if(a<b){
fmt.Printf("a小于b\n")
}else{
fmt.Printf("a大于b\n")
}

if(a>b){
fmt.Printf("a大于b\n")

}else{
fmt.Printf("a小于b\n")
}

if(a<=b){
fmt.Printf("a小于等于b\n")
}else{
fmt.Printf("a大于等于b\n")
}

if(a>=b){
fmt.Printf("a大于等于b\n")

}else{
fmt.Printf("a小于等于b\n")
}

}

逻辑运算符

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
func logic(){
a:=true
b:=false

if(a && b){
fmt.Printf("a与b 同时为true\n")
}else{
fmt.Printf("a与b 不同时为true\n")
}

if(a || b){
fmt.Printf("a与b 至少一个为true\n")
}else{
fmt.Printf("a与b 全部为false\n")
}

if(!b){
fmt.Printf("取反成功\n")
}else{
fmt.Printf("取反失败\n")
}

}

位运算

1
2
3
4
5
6
7
8
9
10
11
12
13
func wei(){
a := 3
b:= 4

fmt.Println("a & b :",a & b)
fmt.Println("a | b :",a | b)
fmt.Println("a ^ b :",a ^ b)
fmt.Println("^ b :",^b)
fmt.Println("a左移1位 :",a <<1)
fmt.Println("a右移一位:",a >>1)


}

赋值运算符

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
func Assign(){
a := 3
var c int= 2

c += a // c = c+a
fmt.Println("c+=a的结果为:",c)

c -= a //c = c -a
fmt.Println("c-=a的结果为:",c)

c *= a // c = a *c
fmt.Println("c*=a的结果为:",c)

c /= a // c = c /a
fmt.Println("c/=a的结果为:",c)
}