一 基本的介绍
赋值运算符就是将某个运算后的值,赋给指定的变量。
二 赋值运算符的分类
三 赋值运算符的特点
1 运算顺序从右往左。
2 赋值运算符的左边只能是变量,右边可以是变量、表达式、常量值。
3 复合赋值运算符等价于下面的效果。
a += 3 等价于 a = a + 3
四 实战
1 代码
package main
import (
"fmt"
)
func test() int {
return 90
}
func main() {
// 赋值运算符的使用演示
var i int
i = 10 //基本赋值
fmt.Println(i)
// 有两个变量,a 和 b,要求将其进行交换,最终打印结果
a := 9
b := 2
fmt.Printf("交换前的情况是 a = %v , b=%v \n", a, b)
// 定义一个临时变量,通过临时变量交换
t := a
a = b
b = t
fmt.Printf("交换后的情况是 a = %v , b=%v \n", a, b)
// 复合赋值的操作
a += 17 // 等价 a = a + 17
fmt.Println("a=", a)
var c int
c = a + 3 // 赋值运算的执行顺序是从右向左
fmt.Println(c)
// 赋值运算符的左边只能是变量,右边可以是变量、表达式、常量值
// 表达式:任何有值都可以看做表达式
var d int
d = a
d = 8 + 2*8 // = 的右边是表达式
d = test() + 90 // = 的右边是表达式
d = 890 // 890 是常量
fmt.Println(d)
}
2 测试
10
交换前的情况是 a = 9 , b=2
交换后的情况是 a = 2 , b=9
a= 19
22
890
五 面试题
有两个变量,a 和 b,要求将其进行交换,但是不允许使用中间变量,最终打印结果。
1 代码
package main
import (
"fmt"
)
func main() {
// 有两个变量,a和b,要求将其进行交换,但是不允许使用中间变量,最终打印结果
var a int = 10
var b int = 20
a = a + b
b = a - b // b = a + b - b ==> b = a
a = a - b // a = a + b - a ==> a = b
fmt.Printf("a=%v b=%v", a, b)
}
2 测试
a=20 b=10