go语言-运算符

我是研究僧i 提交于 2019-11-28 12:48:35
一、算术运算符:+、-、*、/、%、++、--二、除法运算符:    参与运算数都为整数,不管接收变量是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 mainimport "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 mianimport "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 mainimport "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)}

 七、优先级:括号>++\-->单目运算>算术运算>移位运算>关系运算>位运算>逻辑运算>赋值运算>逗号

八、位运算符:&、^、|、>>、<<
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!