Golang Использование фрагментов интерфейсов для аргумента функции - PullRequest
0 голосов
/ 19 января 2020

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

func Print_2dMat(mat [][]interface{}) {
    for index,element := range mat{
        fmt.Println(index,"=>",element)
    }
}

Print_2dMat([][]int {{1,2,3}, {1,2,3}})

Однако у меня есть следующая ошибка. Как правильно ее решить?

Cannot use '[][]int {{1,2,3}, {1,2,3}}' (type [][]int) as type [][]interface{}

1 Ответ

2 голосов
/ 19 января 2020

Попробуйте использовать Variadi c функция :

func Print_2dMat(mat ...interface{}) {
    for index, element := range mat {
        fmt.Println(index, "=>", element)
    }
}

Для более подробной информации посетите здесь: https://yourbasic.org/golang/three-dots-ellipsis/

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