go语言-运算符


一、算术运算符:+、-、*、/、%、++、--
二、除法运算符:
    参与运算数都为整数,不管接收变量是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)
}

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

八、位运算符:&、^、|、>>、<<

猜你喜欢

转载自www.cnblogs.com/puti306/p/11407728.html