Как передать массив в функцию GO без определения размера массива? - PullRequest
0 голосов
/ 07 июля 2019

Я пытаюсь определить массив, передать его в функцию, которая не определяет размер аргумента, однако возникают ошибки.

package main

import "fmt"

func main() {
    var a=[5]int{1,2,3,4,5}
    f(a,5)
    fmt.Println(a)
}
func f(arr []int,size int) {
    for i,x:=range arr  {
        fmt.Println(i,x)
        arr[i]=100
    }
}

не может использовать (type [5] int) как type [] int в аргументе для f

1 Ответ

2 голосов
/ 07 июля 2019

Вы можете преобразовать массив в линейный фрагмент, например:

f(a[:],5)

Детская площадка

Для получения дополнительной информации см. https://blog.golang.org/go-slices-usage-and-internals

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...