以下是变量的示例:
names := []interface{}{"first", "second"}
如何从字符串数组中动态初始化?
答案 0 :(得分:29)
strs := []string{"first", "second"}
names := make([]interface{}, len(strs))
for i, s := range strs {
names[i] = s
}
将是最简单的
答案 1 :(得分:14)
如果只有两个要动态添加的字符串,这也适用:
var names []interface{}
names = append(names, "first")
names = append(names, "second")
或者这个:
var names []interface{}
names = append(names, "first", "second")
答案 2 :(得分:0)
答案 3 :(得分:0)
您可以使用interface {}数组进行构建。
values := make([]interface{}, 0)
values = append(values, 1, 2, 3, nil, 4, "ok")
然后在使用值时检查类型。
for _, v := range values {
if v == nil {
fmt.Println("it is a nil")
} else {
switch v.(type) {
case int:
fmt.Println("it is a int")
case string:
fmt.Println("it is a string")
default:
fmt.Println("i don't know it")
}
}
}
答案 4 :(得分:-8)
strs := []string{"first", "second"}
var names []string
names = append(names, strs...)