欢迎访问宙启技术站
智能推送

Go语言的赋值运算符怎么使用

发布时间:2023-05-18 06:22:12

Go语言的赋值运算符是一类用于将值赋给变量的运算符,可以通过它来完成基本的赋值操作和复合赋值操作。目前,Go语言中支持如下几种赋值运算符:

赋值运算符(=)

在Go语言中,基本的赋值运算符是等号(=),表示将右侧的表达式的值赋给左侧的变量。例如:

i := 1
j := 2
j = i

在上述代码中,第三行的“j = i”是一个赋值语句,将变量i的值1赋给变量j。此时j的值将变为1。

Go语言的赋值运算符可以单独使用,也可以配合其他运算符使用,构成复合赋值运算符。由于Go语言相对于其他语言来说比较简洁,直接使用等号进行赋值操作是最常见的方式。

递增运算符(+=)

Go语言中的递增运算符(+=)可以将左侧的变量与右侧的表达式相加,并将结果赋给左侧的变量。例如:

i := 1
i += 2 // 等价于 i = i + 2

在上述代码中,第二行的“i += 2”是一个复合赋值语句,将变量i的值与2相加,并将结果赋给变量i。此时i的值将变为3。

递减运算符(-=)

与递增运算符相似,Go语言中的递减运算符(-=)可以将左侧的变量与右侧的表达式相减,并将结果赋给左侧的变量。例如:

i := 3
i -= 2 // 等价于 i = i - 2

在上述代码中,第二行的“i -= 2”是一个复合赋值语句,将变量i的值与2相减,并将结果赋给变量i。此时i的值将变为1。

乘法赋值运算符(*=)

乘法赋值运算符(*=)可以将左侧的变量与右侧的表达式相乘,并将结果赋给左侧的变量。例如:

i := 2
i *= 3 // 等价于 i = i * 3

在上述代码中,第二行的“i *= 3”是一个复合赋值语句,将变量i的值与3相乘,并将结果赋给变量i。此时i的值将变为6。

除法赋值运算符(/=)

除法赋值运算符(/=)可以将左侧的变量与右侧的表达式相除,并将结果赋给左侧的变量。例如:

i := 6
i /= 3 // 等价于 i = i / 3

在上述代码中,第二行的“i /= 3”是一个复合赋值语句,将变量i的值与3相除,并将结果赋给变量i。此时i的值将变为2。

取模赋值运算符(%=)

取模赋值运算符(%=)可以将左侧的变量与右侧的表达式取模,并将结果赋给左侧的变量。例如:

i := 7
i %= 3 // 等价于 i = i % 3

在上述代码中,第二行的“i %= 3”是一个复合赋值语句,将变量i的值与3取模,并将结果赋给变量i。此时i的值将变为1。

左移赋值运算符(<<=)

左移赋值运算符(<<=)可以将左侧的变量左移若干位,并将结果赋给左侧的变量。例如:

i := 1
i <<= 3 // 等价于 i = i << 3

在上述代码中,第二行的“i <<= 3”是一个复合赋值语句,将变量i的值左移3位,并将结果赋给变量i。此时i的值将变为8。

右移赋值运算符(>>=)

右移赋值运算符(>>=)可以将左侧的变量右移若干位,并将结果赋给左侧的变量。例如:

i := 8
i >>= 2 // 等价于 i = i >> 2

在上述代码中,第二行的“i >>= 2”是一个复合赋值语句,将变量i的值右移2位,并将结果赋给变量i。此时i的值将变为2。

按位与赋值运算符(&=)

按位与赋值运算符(&=)可以将左侧的变量与右侧的表达式进行按位与操作,并将结果赋给左侧的变量。例如:

i := 3
i &= 2 // 等价于 i = i & 2

在上述代码中,第二行的“i &= 2”是一个复合赋值语句,将变量i的值与2进行按位与操作,并将结果赋给变量i。此时i的值将变为2。

按位异或赋值运算符(^=)

按位异或赋值运算符(^=)可以将左侧的变量与右侧的表达式进行按位异或操作,并将结果赋给左侧的变量。例如:

i := 2
i ^= 1 // 等价于 i = i ^ 1

在上述代码中,第二行的“i ^= 1”是一个复合赋值语句,将变量i的值与1进行按位异或操作,并将结果赋给变量i。此时i的值将变为3。

按位或赋值运算符(|=)

按位或赋值运算符(|=)可以将左侧的变量与右侧的表达式进行按位或操作,并将结果赋给左侧的变量。例如:

i := 3
i |= 2 // 等价于 i = i | 2

在上述代码中,第二行的“i |= 2”是一个复合赋值语句,将变量i的值与2进行按位或操作,并将结果赋给变量i。此时i的值将变为3。

总结

Go语言的赋值运算符是一类用于将值赋给变量的运算符,可以通过它来完成基本的赋值操作和复合赋值操作。在Go语言中,支持的赋值运算符有:赋值运算符(=)、递增运算符(+=)、递减运算符(-=)、乘法赋值运算符(*=)、除法赋值运算符(/=)、取模赋值运算符(%=)、左移赋值运算符(<<=)、右移赋值运算符(>>=)、按位与赋值运算符(&=)、按位异或赋值运算符(^=)和按位或赋值运算符(|=)。