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