在本章中,我们将详细介绍 Go 语言中的各种运算符。运算符是编程语言中用于执行特定计算的符号。Go 语言支持多种运算符,包括算术运算符、比较运算符、逻辑运算符、位运算符和赋值运算符等。
算术运算符
算术运算符用于执行基本的数学运算。Go 语言支持以下几种算术运算符:
加法运算符 (+)
加法运算符用于将两个数值相加。例如:
// www.javascriptcn.com code example
package main
import "fmt"
func main() {
var a int = 5
var b int = 7
var c int = a + b
fmt.Println("a + b =", c)
}减法运算符 (-)
减法运算符用于从一个数值中减去另一个数值。例如:
// www.javascriptcn.com code example
package main
import "fmt"
func main() {
var a int = 10
var b int = 4
var c int = a - b
fmt.Println("a - b =", c)
}乘法运算符 (*)
乘法运算符用于将两个数值相乘。例如:
// www.javascriptcn.com code example
package main
import "fmt"
func main() {
var a int = 5
var b int = 7
var c int = a * b
fmt.Println("a * b =", c)
}除法运算符 (/)
除法运算符用于将一个数值除以另一个数值。如果两个操作数都是整数,则结果也是整数,即会舍弃小数部分。如果至少有一个操作数是浮点数,则结果是浮点数。例如:
// www.javascriptcn.com code example
package main
import "fmt"
func main() {
var a int = 10
var b int = 3
var c float64 = 10.0 / 3
fmt.Println("a / b (int) =", a / b)
fmt.Println("a / b (float) =", c)
}取余运算符 (%)
取余运算符用于计算一个数值除以另一个数值后的余数。例如:
// www.javascriptcn.com code example
package main
import "fmt"
func main() {
var a int = 10
var b int = 3
var c int = a % b
fmt.Println("a % b =", c)
}比较运算符
比较运算符用于比较两个数值或变量,并返回一个布尔值。Go 语言支持以下几种比较运算符:
等于运算符 (==)
等于运算符用于判断两个数值或变量是否相等。例如:
// www.javascriptcn.com code example
package main
import "fmt"
func main() {
var a int = 5
var b int = 7
var isEqual bool = a == b
fmt.Println("a == b =", isEqual)
}不等于运算符 (!=)
不等于运算符用于判断两个数值或变量是否不相等。例如:
// www.javascriptcn.com code example
package main
import "fmt"
func main() {
var a int = 5
var b int = 7
var isNotEqual bool = a != b
fmt.Println("a != b =", isNotEqual)
}大于运算符 (>)
大于运算符用于判断左边的数值是否大于右边的数值。例如:
// www.javascriptcn.com code example
package main
import "fmt"
func main() {
var a int = 10
var b int = 3
var isGreaterThan bool = a > b
fmt.Println("a > b =", isGreaterThan)
}小于运算符 (<)
小于运算符用于判断左边的数值是否小于右边的数值。例如:
// www.javascriptcn.com code example
package main
import "fmt"
func main() {
var a int = 10
var b int = 3
var isLessThan bool = a < b
fmt.Println("a < b =", isLessThan)
}大于等于运算符 (>=)
大于等于运算符用于判断左边的数值是否大于等于右边的数值。例如:
// www.javascriptcn.com code example
package main
import "fmt"
func main() {
var a int = 10
var b int = 10
var isGreaterOrEqual bool = a >= b
fmt.Println("a >= b =", isGreaterOrEqual)
}小于等于运算符 (<=)
小于等于运算符用于判断左边的数值是否小于等于右边的数值。例如:
// www.javascriptcn.com code example
package main
import "fmt"
func main() {
var a int = 10
var b int = 10
var isLessOrEqual bool = a <= b
fmt.Println("a <= b =", isLessOrEqual)
}逻辑运算符
逻辑运算符用于组合条件语句。Go 语言支持以下几种逻辑运算符:
逻辑与运算符 (&&)
逻辑与运算符用于判断两个条件表达式是否都为真。只有当两个条件都为真时,结果才为真。例如:
// www.javascriptcn.com code example
package main
import "fmt"
func main() {
var a int = 5
var b int = 7
var result bool = (a < 10) && (b > 5)
fmt.Println("(a < 10) && (b > 5) =", result)
}逻辑或运算符 (||)
逻辑或运算符用于判断两个条件表达式是否至少有一个为真。只要有一个条件为真,结果就为真。例如:
// www.javascriptcn.com code example
package main
import "fmt"
func main() {
var a int = 5
var b int = 7
var result bool = (a < 10) || (b < 5)
fmt.Println("(a < 10) || (b < 5) =", result)
}逻辑非运算符 (!)
逻辑非运算符用于对条件表达式进行取反操作。如果条件为真,则结果为假;如果条件为假,则结果为真。例如:
// www.javascriptcn.com code example
package main
import "fmt"
func main() {
var a int = 5
var result bool = !(a > 10)
fmt.Println("!(a > 10) =", result)
}赋值运算符
赋值运算符用于给变量赋值。Go 语言支持以下几种赋值运算符:
简单赋值运算符 (=)
简单赋值运算符用于将一个数值或表达式的值赋给一个变量。例如:
// www.javascriptcn.com code example
package main
import "fmt"
func main() {
var a int
a = 5
fmt.Println("a =", a)
}加法赋值运算符 (+=)
加法赋值运算符用于将一个数值加到变量上并重新赋值给该变量。例如:
// www.javascriptcn.com code example
package main
import "fmt"
func main() {
var a int = 5
a += 7 // 相当于 a = a + 7
fmt.Println("a =", a)
}减法赋值运算符 (-=)
减法赋值运算符用于从变量中减去一个数值并重新赋值给该变量。例如:
// www.javascriptcn.com code example
package main
import "fmt"
func main() {
var a int = 10
a -= 3 // 相当于 a = a - 3
fmt.Println("a =", a)
}乘法赋值运算符 (*=)
乘法赋值运算符用于将变量乘以一个数值并重新赋值给该变量。例如:
// www.javascriptcn.com code example
package main
import "fmt"
func main() {
var a int = 5
a *= 7 // 相当于 a = a * 7
fmt.Println("a =", a)
}除法赋值运算符 (/=)
除法赋值运算符用于将变量除以一个数值并重新赋值给该变量。例如:
// www.javascriptcn.com code example
package main
import "fmt"
func main() {
var a int = 10
a /= 3 // 相当于 a = a / 3
fmt.Println("a =", a)
}取余赋值运算符 (%=)
取余赋值运算符用于计算变量除以一个数值后的余数并重新赋值给该变量。例如:
// www.javascriptcn.com code example
package main
import "fmt"
func main() {
var a int = 10
a %= 3 // 相当于 a = a % 3
fmt.Println("a =", a)
}位运算符
位运算符用于对整数在二进制表示下的每一位进行运算。Go 语言支持以下几种位运算符:
按位与运算符 (&)
按位与运算符用于将两个操作数的二进制表示的每一位进行与运算。只有当两个对应的二进制位都为1时,结果的对应位才为1。例如:
// www.javascriptcn.com code example
package main
import "fmt"
func main() {
var a int = 5
var b int = 7
var result int = a & b
fmt.Println("a & b =", result)
}按位或运算符 (|)
按位或运算符用于将两个操作数的二进制表示的每一位进行或运算。只要两个对应的二进制位中有一个为1,结果的对应位就为1。例如:
// www.javascriptcn.com code example
package main
import "fmt"
func main() {
var a int = 5
var b int = 7
var result int = a | b
fmt.Println("a | b =", result)
}按位异或运算符 (^)
按位异或运算符用于将两个操作数的二进制表示的每一位进行异或运算。当两个对应的二进制位相同(均为0或均为1)时,结果的对应位为0;当两个对应的二进制位不同(一个为0而另一个为1)时,结果的对应位为1。例如:
// www.javascriptcn.com code example
package main
import "fmt"
func main() {
var a int = 5
var b int = 7
var result int = a ^ b
fmt.Println("a ^ b =", result)
}按位取反运算符 (~)
按位取反运算符用于将一个操作数的二进制表示的所有位取反。即将1变为0,0变为1。例如:
// www.javascriptcn.com code example
package main
import "fmt"
func main() {
var a int = 5
var result int = ^a
fmt.Println("^a =", result)
}左移运算符 (<<)
左移运算符用于将一个操作数的二进制表示向左移动指定的位数,并在右侧填充0。例如:
// www.javascriptcn.com code example
package main
import "fmt"
func main() {
var a int = 5
var result int = a << 2 // 相当于 a * 2^2
fmt.Println("a << 2 =", result)
}右移运算符 (>>)
右移运算符用于将一个操作数的二进制表示向右移动指定的位数,并在左侧填充符号位(对于有符号整数)。例如:
// www.javascriptcn.com code example
package main
import "fmt"
func main() {
var a int = 20
var result int = a >> 2 // 相当于 a / 2^2
fmt.Println("a >> 2 =", result)
}通过以上介绍,我们可以看到 Go 语言提供了丰富的运算符来处理各种计算需求。这些运算符使得代码更加简洁和高效。希望本章的内容能够帮助您更好地理解和使用 Go 语言中的运算符。