基本运算符
- 算术运算符
- 关系运算符
- 逻辑运算符
- 位运算符
- 逻辑运算符
- 算术运算符
- 注意:
++
(自增) 和--
(自减)在go语言中是单独的语句,不是运算符
package main
import (
"fmt"
)
func main() {
a := 10
b := 20
fmt.Println(a + b)
fmt.Println(a - b)
fmt.Println(a * b)
fmt.Println(a / b)// 0
fmt.Println(5 % 2)
}
2. 关系运算符
package main
import (
"fmt"
)
func main() {
fmt.Println(5 > 2)// true
fmt.Println(5 < 2)// false
fmt.Println(5 != 2)// true
fmt.Println(4 == 2)// false
fmt.Println(4 >= 2)// true
fmt.Println(4 <= 2)// false
}
- 逻辑运算符
package main
import (
"fmt"
)
func main() {
// 逻辑运算符
fmt.Println(5 > 2 && 1 == 1)// true
fmt.Println(5 > 2 && 5 < 4)// false
fmt.Println(!(5 > 2))// false
fmt.Println(1 > 5 || 4 == 4)// true
}
- 位运算符
package main
import (
"fmt"
)
func main() {
// 位运算符
a := 1// 001
b := 5// 101
fmt.Println(a & b)// 001 -> 1
fmt.Println(a | b)// 101 -> 5
fmt.Println(a ^ b)// 100 -> 4
fmt.Println(a ^ b)// 100 -> 4
fmt.Println(1 << 2)// 100 -> 4
fmt.Println(4 >> 2)// 001 -> 1
}
- 赋值运算符
package main
import (
"fmt"
)
func main() {
// 位运算符
a := 0
a = 5
a += 1// a = a + 1
fmt.Println(a)//6
b := (10 + 20) % 3 + 3 -7
fmt.Println(b)// -4
var c int = 10
c /= 2 // c = c / 2 => 5
fmt.Println(c)// 5
c *= 2
fmt.Println(c)// 10
c %= 3 // c = 10 % 3
fmt.Println(c)// 1
// eg: 交换2个数并输出结果
var s1 int = 8
var s2 int = 4
fmt.Printf("a = %v, b = %v\n", s1, s2)// a = 8, b = 4
var m int
m = s1
s1 = s2
s2 = m
fmt.Printf("a = %v, b = %v", s1, s2)// a = 8, b = 4
}
其它运算符
&
: 返回变量的存储地址*
: 取出指针变量对应的数值
package main
import (
"fmt"
)
func main() {
var age int = 18
fmt.Println("age对应的存储空间的地址为:", &age)
var ptr *int = &age
fmt.Println(ptr)
fmt.Println("ptr这个指针的具体地址值为:", *ptr)
}
- 指针的内容后面补充,
todo
运算符优先级
为了提高优先级我们可以加
()
,懒的记这么多哈哈 - 实在要看百度一下