Go 赋值运算符

一 基本的介绍

赋值运算符就是将某个运算后的值,赋给指定的变量。

二 赋值运算符的分类

三 赋值运算符的特点

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值