Go语言赋值运算符
Go语言的赋值运算符如下所示。
赋值运算符的用法,如下所示。
上表中运算符的使用方法如下所示。
声明:《Go系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值运算符,将一个表达式的值赋给一个左值 | C=A+B 将 A+B 表达式结果赋值给 C |
+= | 相加后再赋值 | C+=A 等于 C=C+A |
-= | 相减后再赋值 | C-=A 等于 C=C-A |
*= | 相乘后再赋值 | C*=A 等于 C=C*A |
/= | 相除后再赋值 | C/=A 等于 C=C/A |
%= | 求余后再赋值 | C%=A 等于 C=C%A |
<<= | 左移后赋值 | C<<=2 等于 C=C<<2 |
>>= | 右移后赋值 | C>>=2 等于 C=C>>2 |
&= | 按位与后赋值 | C&=2 等于 C=C&2 |
^= | 按位异或后赋值 | C^=2 等于 C=C^2 |
|= | 按位或后赋值 | C|=2 等于 C=C|2 |
赋值运算符的用法,如下所示。
package main import "fmt" func main() { var a int = 21 var c int c = a fmt.Printf("第 1 行 = 运算符实例,c 的值为:%d\n", c) c += a fmt.Printf("第 2 行 += 运算符实例,c 的值为:%d\n", c) c -= a fmt.Printf("第 3 行 -= 运算符实例,c 的值为:%d\n", c) c *= a fmt.Printf("第 4 行 *= 运算符实例,c 的值为:%d\n", c) c /= a fmt.Printf("第 5 行 /= 运算符实例,c 的值为:%d\n", c) c = 200 c <<= 2 fmt.Printf("第 6 行 <<= 运算符实例,c 的值为:%d\n", c) c >>= a fmt.Printf("第 7 行 >>= 运算符实例,c 的值为:%d\n", c) c &= a fmt.Printf("第 8 行 &= 运算符实例,c 的值为:%d\n", c) c ^= a fmt.Printf("第 9 行 ^= 运算符实例,c 的值为:%d\n", c) c |= a fmt.Printf("第 10 行 |= 运算符实例,c 的值为:%d\n", c) }运行结果如下:
第 1 行 = 运算符实例,c 的值为:21
第 2 行 += 运算符实例,c 的值为:42
第 3 行 -= 运算符实例,c 的值为:21
第 4 行 *= 运算符实例,c 的值为:441
第 5 行 /= 运算符实例,c 的值为:21
第 6 行 <<= 运算符实例,c 的值为:800
第 7 行 >>= 运算符实例,c 的值为:0
第 8 行 &= 运算符实例,c 的值为:0
第 9 行 ^= 运算符实例,c 的值为:21
第 10 行 |= 运算符实例,c 的值为:21
运算符 | 描述 | 实例 |
---|---|---|
& | 返回变量存储地址 | &a 将给出变量的实际地址 |
* | 指针变量 | *a 是一个指针变量 |
上表中运算符的使用方法如下所示。
package main import "fmt" func main() { var a int = 4 var b int32 var c float32 var ptr *int fmt.Printf("第 1 行 a 变量类型为:%T\n", a) fmt.Printf("第 2 行 b 变量类型为:%T\n", b) fmt.Printf("第 3 行 c 变量类型为:%T\n", c) //& 和 * 运算符实例 ptr = &a // ptr 包含了 a 变量的地址 fmt.Printf("a 的值为:%d\n", a) fmt.Printf("*ptr 为:%d\n", *ptr) }运行结果如下:
第 1 行 a 变量类型为:int
第 2 行 b 变量类型为:int32
第 3 行 c 变量类型为:float32
a 的值为:4
*ptr 为:4
声明:《Go系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。