Go语言里,对两个不同类型的变量进行运算操作,是不允许的!
所以,需要将两个整型数都转化为浮点数方能进行运算
func Test1() {
var i=10
var j=3
var sum1,sum2 float64
i1:=float64(i)
j1:=float64(j)
sum1=i1/j1
sum2=(float64(i / j))
fmt.Println("sum1=",sum1, "****", "sum2=",sum2)
fmt.Println("sum2的类型为:", reflect.TypeOf(sum2))
}
输出结果为:
sum1= 3.3333333333333335 **** sum2= 3
sum2的类型为: float64
上述中,如果添加一行(更换sum1的值) sum1=float64(i)/j
,则会报错:
Invalid operation: float64(i)/j (mismatched types float64 and int)
但是,如果添加的是 sum1=float64(i)/3
,则不会报错,输出结果跟之前一样!