Инициализировать массив интерфейсов в Голанге

Вот пример переменной:

names := []interface{}{"first", "second"}

Как это может быть инициализировано динамически, из массива строк?

Ответы

Ответ 1

strs := []string{"first", "second"}
names := make([]interface{}, len(strs))
for i, s := range strs {
    names[i] = s
}

Было бы самым простым

Ответ 2

Если есть только две строки, которые должны быть добавлены динамически, это тоже работает:

var names []interface{}
names = append(names, "first")
names = append(names, "second")

Или это:

var names []interface{}
names = append(names, "first", "second")

Ответ 4

другой способ:

strs := []string{"first", "second"}
var names []string
names = append(names, strs...)