Это должно работать:
func multiple(slice *[]float64) {
for index, value := range *slice {
(*slice)[index] = value * 100
}
}
Вы передаете указатель на фрагмент. Вы уверены, что это то, что вам нужно? Следующее также будет работать:
func multiple(slice []float64) {
for index, value := range slice {
slice[index] = value * 100
}
}
Когда вы передаете *[]float64
, функция получает указатель на срез. Для работы с элементами среза функция должна разыменовать указатель, а затем разыменовать массив, на который указывает срез.
Когда вы передаете []float64
, функция получает срез, который содержит указательк базовому массиву, длине и емкости.