我有一个float64数组,想将每个值转换为float32。
我尝试过:
# What I have
features64 [120]float64
# What I've tried
features32 = [120]float32(features64)
但这会导致编译错误:
无法将要素([120] float64类型)转换为[120] float32类型
答案 0 :(得分:2)
您不能将一种切片/数组类型转换为另一种。您需要创建一个新数组,并在转换每个元素的原始数组上进行迭代:
for i,f := range features64 {
features32[i] = float32(f)
}
答案 1 :(得分:1)
简单
var arr1 [120]float64
var arr2 [120]float32
for i, v := range arr1 {
arr2[i] = float32(v)
}
答案 2 :(得分:1)
例如,
package main
func main() {
var features64 [120]float64
var features32 [len(features64)]float32
for i, f64 := range features64 {
features32[i] = float32(f64)
}
}