开发者学堂课程【Go语言核心编程 - 基础语法、数组、切片、Map:赋值运算符基本使用】学习笔记,与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/625/detail/9546
赋值运算符基本使用
内容介绍:
一、n赋值运算符介绍
二、赋值运算符分类
三、赋值运算符案例演示
四、赋值运算符的特点
本节课来介绍赋值运算符的使用。
一、赋值运算符介绍
赋值运算符就是将某个运算后的值,赋给指定的变量。
运算后的值例如 :加,减,乘,除,或者是一个函数,或者是一个变量的值,或者是一个常量的值。
二、赋值运算符分类
1.常规赋值运算符
运算符 |
描述 |
实例 |
= |
简单的赋值运算符,将一个表达式的值赋给一个左值 |
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=A+B,就是将A+B的表达式结果赋值给C。而“+=”,“-=”,“*=”,“/=”,“%=”是复合运算符,这是一种简写。
2.除了以上这种常规的复合运算符,还有以下关于“位“的运算符
运算符 |
描述 |
实例 |
<<= |
左移后赋值 |
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 |
说明:这部分的赋值运算涉及到二进制相关知识,放在讲解二进制的时候再进行讲解。
接下来讲解常规的运算符。
三、赋值运算符案例演示
案例演示赋值运算符的基本使用。
1.赋值基本案例
2.有两个变量,a和b,要求将其进行交换,最终打印结果
3.+=的使用案例
案例:
新建文件夹demo05,再在其中建立文件main.go。在前面文件中复制一个整体框架写入,代码如下:
P
ackage
main
i
mport
(
“fmt”
)
func main(
)
{
}
接下来在主函数中演示赋值运算符的使用,代码如下:
func main(
)
{
//赋值运算符的使用演示
var i int
i = 10
//基本赋值
//有两个变量,a和b,要求将其进行交换,最终打印结果
//
a= 9 , b = 2 ==> a = 2 b = 9
a := 9
b := 2
//定义2个变量
fmt.Printlf(“交换前的情况是a= %v , b=%v \n”, a, b)
//定义一个临时变量
t := a //将a的值保存到临时变量t中
a = b //赋值,把b的值给a
b = t //交换完毕
fmt.Printf(“交换后的情况是a = %v , b=%v \n”, a, b) //输出
}
输出时发现报错,是因为var i int里的i没有被使用,这里先将其使用“//“注销,代码如下:
/
/var i int
//i = 10
//
基本赋值
进而执行输出:
D
:
\gropro.ject\src\go_code\chapter04\demo04>cd.
.
\demo05
D
:
\gropro.ject\src\go_code\chapter04\demo05>go run main .go
得到:
交换前的情况是a =9, b=2
交换后的情况是a=2,b=9
可以看到赋值成功。接下来再进行复合赋值的操作,代码如下:
//复合赋值的操作
a += 17
//等价a = a + 17
fmt.Print
l
n(“a=”, a)
//在2的基础上加17,结果应该是19
输出执行:
D
:
\gropro.ject\src\go_code\chapter04\demo05>go run main .go
得到:
a=19
可以看到与分析一致。
关于赋值运算的基本使用就介绍到这里,接下来介绍赋值运算的使用特点。
四、赋值运算符的特点
1.运算顺序从右往左。
例:
var
c
int
c = a + 3
//赋值运算的执行顺序是从右向左
//先把a + 3的结果算出来,再交给c
fmt.Print
l
n(
c
)
2.赋值运算符的左边只能是变量,右边可以是变量、表达式、常量值。
例:
//表达式:任何有值都可以看做表达式
var d int
d = a
//a的变量给b
d = 8 + 2 * 8
//=的右边是表达式
//此时若有一个函数
func test() int {return 90
}
//那么此时甚至可以这样写:
d = test() + 90
//=的右边是表达式这里是函数
d = 890
// 890常量
输出:
执行:
D
:
\gropro.ject\src\go_code\chapter04\demo05>go run main .go
得到:
890
可以看到结果确实是890。此时若使用“//“注销d = 890 // 890常量这行代码,那么test就返回90,d的值就为90+90=180,验证:
D
:
\gropro.ject\src\go_code\chapter04\demo05>go run main .go
得到:
180
可以看到结果与分子一致。
3.复合赋值运算符等价于下面的效果。
比如:a += 3等价于a= a+3
这里因为前面已经讲解过就不做详细讲解了。
本节课关于赋值运算的基本特点与基本使用就介绍到这里。