Я пытаюсь передать массив float64 в функцию, которая добавит значения и вернет сумму. Мой код выглядит следующим образом:
func addThemNumbers(numbers []float64) float64{
sum := 0.0
for _,value := range numbers {
sum += value
}
return sum
}
func main() {
favNums := [2]float64 {0.9, 1.997}
fmt.Println("Sum: ", addThemNumbers(favNums))
}
Когда я запускаю это, он выдает эту ошибку:
/main.go:33:40: cannot use favNums (type [2]float64) as type []float64 in argument to addThemNumbers
Однако, когда я указываю размер 2 в моей функции, такой, что addThemNumbers(numbers [2]float64)
, нет ошибки, и он работает. Если было несовпадение типов, я не понимаю, почему указание размера массива работает. Я видел несколько примеров, когда указывать размер массива в функции не нужно, так что мне не хватает?