开发者学堂课程【GO 语言核心编程-基础语法、数组、切片、Map:算术运算符基本使用】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/625/detail/9541
算术运算符基本使用
目录
一、运算符的基本介绍
二、算数运算符
三、案例演示
一、运算符的基本介绍
运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等
1.算术运算符
2.赋值运算符
3.比较运算符/关系运算符
4.逻辑运算符
5.位运算符
6.其它运算符
二、算术运算符
介绍:
算术运算符是对数值类型的变量进行运算的,比如:加减乘除。在 Go 程序中使用的非常多。
算数运算符是最简单的一个,同时也是使用的最多的一个。由名称就可以知道,它主要是对数值型的变量进行运算的,也就是常用的加减乘除。例如前加加,后加加等的一系列的操作。在 go 程序中是使用的非常多的。
算数运算符一览表
运算符 |
运算 |
范例 |
结果 |
+ |
正号 |
+3 |
3 |
- |
负号 |
-4 |
-4 |
+ |
加 |
5+5 |
10 |
- |
减 |
6-4 |
2 |
* |
乘 |
3*4 |
12 |
/ |
除 |
5/5 |
1 |
% |
取模(取余) |
7%5 |
2 |
++ |
自增 |
a=2 a++ |
a=3 |
-- |
自减 |
a=2 a-- |
a=1 |
+ |
字符串相加 |
“He”+“llo” |
“Hello” |
在 golang 中,算术运算符有以上这些。例如在数的前面写“+”,就相当于取正;在数的前面写“-”,那么就是取负。加减乘除非常简单,就不多加讲解了。还有取模(也叫取余),例如7%5,也就是取它的余数,也就是2。另外还有“++”自增和“--”自减,例如 a=2 a++的结果是3,这里就相当于 a=2 a=a+1,也就是等于;a--也是相同的道理。最后还有一个“+”,如果两个都是字符串,那么就相当于是字符串的拼接了。
三、案例演示
案例演示算术运算符的使用:
1. +,-,*,/,%,++,-- ,重点讲解/、%
2. 自增:++
3. 自减:--
4. +、-、*是一个道理,完全可以类推。
加减乘除是比较普通的,这里就不讲解了。因为/在这里有自己的特色,所以这里讲解/、%、++和--。
接下来举例演示:
在 go_code 新建一个文件夹 chapter04,在此内新建文件夹 demo01,新建一个文件 main.go。然后粘贴一个测试文件的结构过来,代码如下:
P
ackage
main
i
mport(
“fmt”
)
f
unc main()
{
}
在主函数中先来讲解/、%的案例,代码如下:
(1)演示 / 的使用的特点
f
unc main()
{
//重点讲解/、%
//说明,如果运算的数都是整数,那么除后,去掉小数部分,保留整数部分
//也不会四舍五入
fmt.Print1n(10 / 4)
//理论上结论应该是2.5,但是这里实际上结果是2。因为两头都是整数,那么在运算的时候将会把小数点后的部分去掉。所以在此做了一个说明。
}
运行验算:
在 cmd.exe 中输入以下命令回车:
cd chapter0
cd demo01
go run main.go
得出结果:
2
可以看到果然是这样,所以它是不会进行四舍五入的。
接下来继续来看其他的用法:
如果这时候是一个小数点,结果会是什么呢?代码如下:
var
n1 float32 = 10 / 4
//?
//结果仍然会是一样的,它依然会把小数点之后的部分去掉。也就是说它再输出结果的时候就会把小数点去掉。
fmt.
Println(n1)
//输出这个n1
在 cmd.exe 里输入 go run main.go 回车得到:
2
可以看到也是2。再次证明输出的时候会去掉小数部分,保留整数部分,不管接收方式,小数还是整数。
//如果希望保留小数部分,则需要有浮点数参与运算
var n2 float32 =10.0 / 4
fmt.
Println(n2)
//输出这个 n2
在cmd.exe里输入 go run main.go 回车得到:
2.5
可以看到输出的是2.5。这就是 golang 在进行相除时候的一个特性:根据运算参与数的数据类型来决定后面的数据类型,即值是否保留小数点。这里要注意。
除法就讲解到这里,接下来看取模,代码如下:
(2)演示 % 的使用的特点
//演示 % 的使用
fmt.Println(10 % 3)
// =1
在 cmd.exe 里输入 go run main.go 回车得到:
1
可以看到结果就是1。如果为了看的更加明白可以输出一句话,代码如下:
fmt.Println(
“
10%3
=”
10 % 3)
//=1
再输出得到:
10÷3=1
可以看到是等于1。
接下来看另外几个案例看能否推出结果,代码如下:
fmt.Println(
“-
10%3
=”-
10 % 3)
//=1 //=?
fmt.Println(
“
10%
-
3
=”
10 %
-
3)
//=1 //=?
fmt.Println(
“-
10%
-
3
=”-
10 %
-
3)
//=1 //=?
这里将取模的公式写出来:
//看一个公式 a % b = a - a / b* b
fmt.Println(
“-
10%3
=”-
10 % 3)
//=1 //=?
//第一个案例输出结果就是-10 – (-10) / 3 * 3 = -10 – (-9) = -1
输出得到:
-10÷3= -1
可以看到是等于-1的。
其他两个也可以按照这种方式推导,是没有问题的,这里就不依次计算了。
fmt.Println(
“-
10%3
=”-
10 % 3)
//=1 //= -10 – (-10) / 3 * 3 = -10 – (-9) = -1
fmt.Println(
“
10%
-
3
=”
10 %
-
3)
//=1 //=1
fmt.Println(
“-
10%
-
3
=”-
10 %
-
3)
//=1 //=-1
输出为:
-10÷3= -1
10÷3= 1
-10÷-3= -1
可以看到结果与推导的公式结果是一样的,所以这个公式很重要。这就是关于取模的说法。接下来看++和--的使用,代码如下:
(3)++和--的使用
//++和--的使用
var i int = 10
i++ //等价于i = i + 1
fmt.Print
l
n(“i=”,i)
//11
i-- //等价于i = i - 1
fmt.Println(“i=”,i)
//10
运行得出:
i= 11
i= 10
可以看到运行得到第一个是11,第二个是10。++和--的使用就讲解到这里。
以上就把基本使用全部讲解完了,至于另外的运算符+、-、*是一个道理,完全可以类推,因为它们并没有什么需要注意的地方,只需要尝试一下就没有问题了。
本节课关于算术运算符的基本使用就讲解到这里,接下来讲解它的细节使用。