Конвертировать массив float64 в массив float32 - PullRequest
0 голосов
/ 20 декабря 2018

У меня есть массив float64 и я хочу преобразовать каждое значение в float32.

Я пробовал:

# What I have 
features64 [120]float64

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

Но это дает ошибку компиляции:

не может преобразовать объекты (тип [120] float64) в тип [120] float32

Ответы [ 3 ]

0 голосов
/ 20 декабря 2018

Просто

var arr1 [120]float64
var arr2 [120]float32
for i, v := range arr1 {
    arr2[i] = float32(v)
}
0 голосов
/ 20 декабря 2018

Например,

package main

func main() {
    var features64 [120]float64

    var features32 [len(features64)]float32
    for i, f64 := range features64 {
        features32[i] = float32(f64)
    }
}
0 голосов
/ 20 декабря 2018

Нельзя преобразовать один тип фрагмента / массива в другой.Вам нужно будет создать новый массив и выполнить итерацию по исходному, преобразуя каждый элемент:

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