Avatar ·

如何在Go中将整数(int)转换为浮点数(float64)?

大家好!我刚从Python开始学习Go,遇到了类型转换的问题。在Python中,我习惯浮点数和整数在表达式中轻松混合使用,但在Go中一切都很严格。

我有一个简单的算术平均计算器。我从整数(int)得到总和,元素数量也是int。我需要计算平均值,显然可能是小数。但当我尝试将int除以int得到float时,编译器会报错。

这是我的代码:

package main

import "fmt"

func main() {
    sum := 10   // int
    count := 3  // int
    avg := sum / count // 想得到3.333...,但得到3
    fmt.Println(avg)
}

我明白在Go中整数除法会得到整数结果,并丢弃小数部分。我试过写avg := float64(sum / count),但这仍然得到3.0,而不是3.333...

如何正确地将int转换为float64?