一、算术运算符
package main
import "fmt"
func main(){
num1,num2 := 10,2
fmt.Println(num1 + num2) // 12
fmt.Println(num1 - num2) // 8
fmt.Println(num1 * num2) // 20
fmt.Println(num1 / num2) // 5
fmt.Println(11 % num2) // 1
num2++
fmt.Println(num2) // 3
num1--
fmt.Println(num1) // 9
}
二、关系运算符
运算符 |
描述 |
== |
等于 比较左右两边的值是否相等,相等返回true,否则为false |
!= |
不等于 比较左右两边的值是否不相等,不相等返回true,否则为false |
| 大于 左边的值 大于 右边 则返回true,否则 为false
< | 小于 左边的值 小于 右边 则返回true,否则 为false
= | 大于等于 左边的值 大于等于 右边 则返回true,否则 为false
<= | 小于等于 左边的值 小于等于 右边 则返回true,否则 为false
package main
import "fmt"
func main(){
num1,num2 := 3,4
if num1 == num2 {
fmt.Println("num1 和 num2 相等")
}
if num1 != num2 {
fmt.Println("num1 和 num2 不相等")
}
if num1 > num2 {
fmt.Println("num1 大于 num2")
}
if num1 < num2 {
fmt.Println("num1 小于 num2")
}
if num1 >= num2 {
fmt.Println("num1 大于相等 num2")
}
if num1 <= num2 {
fmt.Println("num1 小于相等 num2")
}
// switch 用法 ,后面会着重讲解
switch{
case num1 == num2:
fmt.Print("num1 和 num2 相等")
case num1 != num2:
fmt.Print("num1 和 num2 不相等")
case num1 > num2:
fmt.Print("num1 大于 num2")
case num1 < num2:
fmt.Print("num1 小于 num2")
case num1 >= num2:
fmt.Print("num1 大于相等 num2")
case num1 <= num2:
fmt.Print("num1 小于相等 num2")
}
// switch最后只会输出 num1 和 num2 不相等,其他不会输出
}
三、逻辑运算符
package main
import "fmt"
func main(){
t1,t2 := true,false
if t1 && t2{
fmt.Println("t1,t2 都为真")
}
if t1 || t2{
fmt.Println("t1,t2 有一个为真")
}
if !t2{
fmt.Println("t2 为假,所以!t2 为真")
}
}
四、赋值运算符
运算符 |
描述 |
= |
简单的赋值操作 |
+= |
相加后再赋值 |
-= |
相减后再赋值 |
*= |
相乘后再赋值 |
/= |
相除后再赋值 |
%= |
取余后再赋值 |
package main
import "fmt"
func main(){
var num int
num1,num2 := 6,4
num = num2
num += num1
fmt.Println(num) // 10
num -= num2
fmt.Println(num) // 6
num *= num1
fmt.Println(num) // 36
num /= num2
fmt.Println(num) // 9
num %= num2
fmt.Println(num) // 1
}
五、位运算符
运算符 |
描述 |
& |
按位与运算符"&" 二进制且操作,两个二进制位 对应的二进制 相与 |
| |
按位或运算符" |
^ |
按位异或运算符"^" 二进制或操作,两个二进制位 对应的二进制 相异 |
<< |
左移运算符<< 左移n位就是乘以2的n次方 |
| 右移运算符">>" 右移n位就是除以2的n次方
package main
import "fmt"
func main() {
var a uint = 60 /* 60 = 0011 1100 */
var b uint = 13 /* 13 = 0000 1101 */
var c uint = 0
c = a & b /* 12 = 0000 1100 */
fmt.Printf("第一行 - c 的值为 %d\n", c )
c = a | b /* 61 = 0011 1101 */
fmt.Printf("第二行 - c 的值为 %d\n", c )
c = a ^ b /* 49 = 0011 0001 */
fmt.Printf("第三行 - c 的值为 %d\n", c )
c = a << 2 /* 240 = 1111 0000 */ // 60 * 2^2
fmt.Printf("第四行 - c 的值为 %d\n", c )
c = a >> 2 /* 15 = 0000 1111 */ // 60 / (2^2)
fmt.Printf("第五行 - c 的值为 %d\n", c )
}
如果喜欢看小说,请到183小说网
|
请发表评论