将 float64 数组转换为 float32 数组



我有一个 float64 数组,并希望将每个值转换为 float32。

我试过:

# What I have 
features64 [120]float64
# What I've tried
features32 = [120]float32(features64)

但这给出了编译错误:

无法将要素(类型 [120]float64)转换为类型 [120]float32

例如,

package main
func main() {
    var features64 [120]float64
    var features32 [len(features64)]float32
    for i, f64 := range features64 {
        features32[i] = float32(f64)
    }
}

不能将一种切片/数组类型转换为另一种切片/数组类型。您需要创建一个新数组并迭代原始转换每个元素:

for i,f := range features64 {
    features32[i] = float32(f)
}

var arr1 [120]float64
var arr2 [120]float32
for i, v := range arr1 {
    arr2[i] = float32(v)
}

最新更新