算数运算符

算数运算符是对数值类型的变量进行运算的,比如:加减乘除。在Go程序中使用的非常多。


加、减、乘 这三个使用的方法没什么特别要注意的地方。


除法的使用:

func main() {

  fmt.Println(10 / 4)   //2 因为两头运算的都是整数,那么除后就去掉小数部分,保留整数部分

  var n1 float32 = 10 / 4    //2,还是去掉小数部分了
  fmt.Println(n1)

  //如果我们希望保留小数部分,则需要有浮点数参与运算

  var n2 float32 = 10.0 / 4   //2.5
  fmt.Println(n2)
}


取模的使用:

func main() {

  //演示 % 的使用
  //看一个公式 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)   // = 10 - 10 / (-3) * (-3) = 10 - 9 = 1
  fmt.Println("-10%-3=", -10 % -3)   // = -10 - (-10) / (-3) * (-3) = -10 - (-9) = -1
}


自增和自减的使用:

func main() {

  var i int = 10
  i++    // 等价 i = i + 1   
  fmt.Println("i=", i)   //11

  i--   //等价 i = i - 1  此时i的值已经是11了,所以i-- 的结果是10
  fmt.Println("i=", i)   //10
}


细节说明:

1)对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。例如: x := 19/5, 结果是3

2)当对一个数取模时,可以等价 a%b=a-a/b*b,这样我们可以看到取模的一个本质运算。

3)Golang的自增自减只能当做一个独立语言使用时,不能这样使用 b := a++ 或者 b := a--

func main() {
  var i int = 8
  var a int
  i++
  a = i //这样可以使用的。不能直接使用a = i++ 这是会报错的。
}

  if i++ > 0 { ... 这样也是不可以的。


4)Golang 的++ 和-- 只能写在变量的后面,不能写在变量的前面,即:只有a++, a-- 没有 ++a, --a

5)Golang的设计者去掉c / java 中的自增自减的容易混淆的写法,让Golang更加简洁,统一。(强制性的)


练习:

1)假如还有97天放假,问: xx个星期零XX天

func main() {

  var days int = 97
  var week int = days / 7
  var day int = days % 7
  fmt.Println("%d个星期零%d天 ", week, day)
}

2)定义一个变量保存华氏温度,华氏温度转换摄氏温度的公式为:5/9*(华氏温度-100),请求出华氏温度对应的摄氏温度。

func main() {

  var huashi float32 = 134.2
  var sheshi float32 = 5.0 / 9 * (huashi - 100)
  fmt.Printf("%v 对应的摄氏温度=%v ", huashi, sheshi)
}

原文地址:https://www.cnblogs.com/green-frog-2019/p/11342732.html