一 运算符的基本介绍
运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。主要包括以下几类。
-
算术运算符
-
赋值运算符
-
比较运算符/关系运算符
-
逻辑运算符
-
位运算符
-
其它运算符
二 算术运算符
算术运算符是对数值类型的变量进行运算的,比如:加减乘除。在 Go 程序中使用得非常多。
三 算术运算符一览表
四 实战
1 代码
package main
import (
"fmt"
)
func main() {
// 如果运算的数都是整数,那么除后,去掉小数部分,保留整数部分
fmt.Println(10 / 4)
var n1 float32 = 10 / 4
fmt.Println(n1)
// 如果希望保留小数部分,则需要有浮点数参与运算
var n2 float32 = 10.0 / 4
fmt.Println(n2)
// 演示 % 的使用
// 求模 a % b = a - a / b * b
fmt.Println("10%3=", 10%3) // =1
fmt.Println("-10%3=", -10%3) // = -10 - (-10) / 3 * 3 = -10 - (-9) = -1
fmt.Println("10%-3=", 10%-3) // =1
fmt.Println("-10%-3=", -10%-3) // =-1
// ++ 和 --的使用
var i int = 10
i++ // 等价 i = i + 1
fmt.Println("i=", i) // 11
i-- // 等价 i = i - 1
fmt.Println("i=", i) // 10
if i > 0 {
fmt.Println("ok")
}
}
2 结果
2
2
2.5
10%3= 1
-10%3= -1
10%-3= 1
-10%-3= -1
i= 11
i= 10
ok
五 算术运算符使用的注意事项
1 对于除号 "/",它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。 例如: x := 19/5 ,结果是 3。
2 当对一个数取模时,可以等价 a%b=a-a/b*b , 它是取模的一个本质运算。
3 Golang 的自增自减只能当做一个独立语句使用。
4 Golang 的 ++ 和 -- 只能写在变量的后面,不能写在变量的前面,即:只有 a++ a-- 没有 ++a --a。
5 Golang 的设计者去掉 c / java 中的 自增自减的容易混淆的写法,让 Golang 更加简洁,统一。
func main() {
// 在 golang 中,++ 和 -- 只能独立使用.
var i int = 8
var a int
a = i++ // 错误,i++ 只能独立使用
a = i-- // 错误,i-- 只能独立使用
if i++ > 0 // error,只能独立使用
{
fmt.Println("ok")
}
var j int = 1
j++
++j // 错误,在 golang 没有前++
j--
--j // 错误,在 golang 没有前--
fmt.Println("j=", j)
}
六 小测试
七 小练习
1 要求
a 假如还有 97 天放假,问:它等于多少个星期零几天?
b 定义一个变量保存华氏温度,华氏温度转换摄氏温度的公式为:5/9*(华氏温度-100),请求出华氏温度对应的摄氏温度。
2 代码
package main
import (
"fmt"
)
func main() {
// 假如还有 97 天放假,问:它等于多少个星期零几天?
var days int = 97
var week int = days / 7
var day int = days % 7
fmt.Printf("%d个星期零%d天\n", week, day)
// 定义一个变量保存华氏温度,华氏温度转换摄氏温度的公式为:5/9*(华氏温度-100),请求出华氏温度对应的摄氏温度。
var huashi float32 = 134.2
var sheshi float32 = 5.0 / 9 * (huashi - 100)
fmt.Printf("%v 对应的摄氏温度=%v \n", huashi, sheshi)
}
3 测试
13个星期零6天
134.2 对应的摄氏温度=19