一、基本介绍
赋值运算符就是将某个运算后的值,赋给指定的变量
二、赋值运算符的分类
说明:这部分的赋值运算中位移运算赋值涉及到二进制相关知识,详情参考go语言使用之进制相关
三、快速入门案例
实现:
1、有两个变量,a和b,要求将其进行交换,最终打印结果 += 的使用案例
2、有两个变量,a和b,要求将其进行交换,但是不允许使用中间变量,最终打印结果
// 赋值运算符的基本使用。
func getVal(n int) int {
return 2 * n
}
func AssignmentOperators() {
// 赋值基本案例
// 有两个变量,a和b,要求将其进行交换,最终打印结果
var a int = 10
var b int = 20
//1. 使用中间变量,完成交换
// temp := a
// a = b //
// b = temp //
// fmt.Printf("a=%d b=%d\n", a, b)
//2. 不使用中间变量,完成交换[面试题]
a = a + b // a = a + b
b = a - b // b = a + b - b ==> b =a
a = a - b // a = a + b - a ==> a = b
fmt.Printf("a=%d b=%d\n", a, b)
//赋值运算符的左边 只能是变量,右边 可以是变量、表达式、常量值
var num1 = 109
var num2 int
num2 = num1 // 右边 可以是变量
num2 = 2 * 3 + 1 * 7 // 右边 是 表达式
num2 = getVal(10) + 90 * 10
fmt.Println("num2=", num2)
// += 的使用案例
num2 += 30 // num3 = num3 + 30
}
测试结果:
a=20 b=10
num2= 920
四、使用细节和注意事项
1、 运算顺序从右往左
2、赋值运算符的左边 只能是变量,右边 可以是变量、表达式、常量值
3、复合赋值运算符等价于下面的效果
比如:a += 3
等价于 a = a + 3