一、算术运算符:+、-、*、/、%、++、--
二、除法运算符:
参与运算数都为整数,不管接收变量是float还是int,结果也是整数-->10/3=3
参与运算数有小数时,结果会保留小数-->>10/3.0或10.0/3,结果是一样的,为3.3333333333333335
三、取模运算:公式-->>a % b = a - a / b * b
例子:10%3=1 -10%3=-1-->(-10-(-10)/3*3=-10-(-9)=-1) 10%-3=1 -10%-3=-1
++:自身加1,只能写在变量后面,只能独立使用,如i++,不能这样使用:a=i++,if i++>0,++i
--:自身减1
案例1:假如还有97天放假,问还有多少个星期和零几天
package main
import "fmt"
func main() {
var days= 97
var week= days / 7
var day= days % 7
fmt.Printf("%d个星期和零%d天\n", week, day)
}
案例2:定义一个华氏温度,华氏温度转换摄氏温度公式:5/9*(华氏温度-100),求出华氏温度对应的摄氏温度
package mian
import "fmt"
func main() {
var huashi float32 = 143
var sheshi float32 = 5.0 / 9 * (huashi - 100)
fmt.Printf("%v对应的摄氏温度是=%v", huashi, sheshi)
}
四、关系运算符:==、!=、>、<、>=、<=,结果是bool型,常运用在if判断和for循环
五、逻辑运算符:&& -->逻辑与运算,两边都为true,则为true,否则为flase(左边为flase结果为flase,不会判断右边)
func test()bool{
fmt.Println("test.....")
return true
}
func main() {
var i int = 10
if i > 9 && test() { //当左边为true,再判断执行右边,若左边为flase,不会判断右边条件,结果直接为flase
fmt.Println("OK")
}
//|| -->逻辑或运算,两边有一个是true,则为true,否则为flase(左边为true结果为true,不判断右边,左边为flase,再判断右边)
if i < 9 || test(){ //左边为flase时会判断右边条件,若右边条件为true,则为true,若第左边为true,不判断右边条件,结果为true
fmt.Println("hello")
}
//!-->逻辑非运算,条件为true,结果为flase,否则为true
六、赋值运算符:=、+=、-=、*=、/=、%=、(<<=、>>=、&=、^=、!=--与二进制有关)
//案例:两个变量a,b,不用临时变量进行值交换
package main
import "fmt"
func main() {
var a int = 10
var b int = 20
//a = a+b //10+20=30
//b = a-b //30-20=10---a的值
//a = a-b //30-10=20---b的值
b =b-a //20-10=10
a =b+a //10+10=20
fmt.Println(a,b)
}
七、优先级:括号>++\-->单目运算>算术运算>移位运算>关系运算>位运算>逻辑运算>赋值运算>逗号
八、位运算符:&、^、|、>>、<<