Go 中的赋值运算符用于给变量赋值,例如 =
运算符用于将一个表达式的值赋给一个变量。此外,Go 还提供了多种复合赋值运算符,例如 =
、-=
、*=
等。本文将介绍 Go 中的赋值运算符及其使用方法。
赋值运算符:
Go 中的赋值运算符包括:
=
:简单的赋值运算符=
:将左侧的变量加上右侧的表达式的值,并将结果赋给左侧的变量-=
:将左侧的变量减去右侧的表达式的值,并将结果赋给左侧的变量*=
:将左侧的变量乘以右侧的表达式的值,并将结果赋给左侧的变量/=
:将左侧的变量除以右侧的表达式的值,并将结果赋给左侧的变量%=
:将左侧的变量取模右侧的表达式的值,并将结果赋给左侧的变量<<=
:将左侧的变量左移右侧的表达式的位数,并将结果赋给左侧的变量>>=
:将左侧的变量右移右侧的表达式的位数,并将结果赋给左侧的变量&=
:将左侧的变量按位与右侧的表达式的值,并将结果赋给左侧的变量|=
:将左侧的变量按位或右侧的表达式的值,并将结果赋给左侧的变量^=
:将左侧的变量按位异或右侧的表达式的值,并将结果赋给左侧的变量
赋值运算符的使用方法:
赋值运算符的使用方法比较简单,可以将一个表达式的值赋给一个变量,或者将一个变量和一个表达式的值进行运算,并将结果赋给该变量。
例如:
代码语言:javascript复制package main
import "fmt"
func main() {
var a = 10
var b = 5
a = b // a = a b
fmt.Println(a) // 输出 15
var c = 10
var d = 5
c -= d // c = c - d
fmt.Println(c) // 输出 5
var e = 10
var f = 5
e *= f // e = e * f
fmt.Println(e) // 输出 50
var g = 10
var h = 5
g /= h // g = g / h
fmt.Println(g) // 输出 2
var i = 10
var j = 3
i %= j // i = i % j
fmt.Println(i) // 输出 1
var k = 8
k <<= 1 // k = k << 1
fmt.Println(k) // 输出 16
var l = 8
l >>= 1 // l = l >> 1
fmt.Println(l) // 输出 4
var m uint8 = 0x0f
var n uint8 = 0xf0
m &= n // m = m & n
fmt.Printf("%#xn", m) // 输出 0x00
var o uint8 = 0x0f
var p uint8 = 0xf0
o |= p // o = o | p
fmt.Printf("%#xn", o) // 输出 0xff
var q uint8 = 0x0f
var r uint8 = 0xf0
q ^= r // q = q ^ r
fmt.Printf("%#xn", q) // 输出 0xff
}
在上面的代码中,我们分别使用了各种赋值运算符,并输出了每个变量的值。注意,对于位运算符,我们使用了无符号整数类型 uint8
,因为它的大小正好是一个字节,便于进行位运算。