在Go语言中,运算符用于执行各种操作,如算术运算、逻辑运算、比较等。下面是一些常见的运算符及其用法示例:
算术运算符
- 加法 (
+
) - 减法 (
-
) - 乘法 (
*
) - 除法 (
/
) - 取模 (
%
)
package mainimport "fmt"func main() {a := 10b := 3fmt.Println("a + b =", a + b) // 加法fmt.Println("a - b =", a - b) // 减法fmt.Println("a * b =", a * b) // 乘法fmt.Println("a / b =", a / b) // 整数除法fmt.Println("a % b =", a % b) // 取模
}
比较运算符
- 等于 (
==
) - 不等于 (
!=
) - 大于 (
>
) - 小于 (
<
) - 大于等于 (
>=
) - 小于等于 (
<=
)
package mainimport "fmt"func main() {x := 5y := 10fmt.Println("x == y:", x == y) // 等于fmt.Println("x != y:", x != y) // 不等于fmt.Println("x > y:", x > y) // 大于fmt.Println("x < y:", x < y) // 小于fmt.Println("x >= y:", x >= y) // 大于等于fmt.Println("x <= y:", x <= y) // 小于等于
}
逻辑运算符
- 逻辑与 (
&&
) - 逻辑或 (
||
) - 逻辑非 (
!
)
package mainimport "fmt"func main() {p := trueq := falsefmt.Println("p && q:", p && q) // 逻辑与fmt.Println("p || q:", p || q) // 逻辑或fmt.Println("!p:", !p) // 逻辑非
}
位运算符
- 按位与 (
&
) - 按位或 (
|
) - 按位异或 (
^
) - 左移 (
<<
) - 右移 (
>>
)
package mainimport "fmt"func main() {a := 60 // 二进制: 0011 1100b := 13 // 二进制: 0000 1101fmt.Printf("a & b = %d (二进制: %b)\n", a & b, a & b) // 按位与fmt.Printf("a | b = %d (二进制: %b)\n", a | b, a | b) // 按位或fmt.Printf("a ^ b = %d (二进制: %b)\n", a ^ b, a ^ b) // 按位异或fmt.Printf("a << 2 = %d (二进制: %b)\n", a << 2, a << 2) // 左移fmt.Printf("a >> 2 = %d (二进制: %b)\n", a >> 2, a >> 2) // 右移
}
赋值运算符
- 简单赋值 (
=
) - 加并赋值 (
+=
) - 减并赋值 (
-=
) - 乘并赋值 (
*=
) - 除并赋值 (
/=
) - 取模并赋值 (
%=
) - 按位与并赋值 (
&=
) - 按位或并赋值 (
|=
) - 按位异或并赋值 (
^=
) - 左移并赋值 (
<<=
) - 右移并赋值 (
>>=
)
package mainimport "fmt"func main() {x := 5y := 3x += y // 相当于 x = x + yfmt.Println("x after += y:", x)x -= y // 相当于 x = x - yfmt.Println("x after -= y:", x)x *= y // 相当于 x = x * yfmt.Println("x after *= y:", x)x /= y // 相当于 x = x / yfmt.Println("x after /= y:", x)x %= y // 相当于 x = x % yfmt.Println("x after %= y:", x)
}
这些示例展示了Go语言中常见的运算符及其基本用法。通过这些运算符,你可以进行各种数学计算、逻辑判断以及位级操作。