go-interface- все статьи тега ➜ страница 0


Тип преобразования срезов интерфейсов в go

мне любопытно, почему go неявно преобразует []T до []interface{} когда он будет неявно преобразовать T до interface{}. Есть ли что-то нетривиальное в этом преобразовании, что мне не хватает? пример: func foo([]interface{}) { /* do something */ } func main() { var a []string = []string{"hello", "world"} foo(a) } go build жалуется не может использовать (type []string) в качестве интерфейса типа [] {} в аргументе функции и если я попытаюсь сделать это явно, то же самое:b := [ ...