如何在Go中将[] interface {}转换为[]字符串?
目前,我目前正在处理一些代码,其中涉及类型为var的 []interface{}
它具有价值,我可以像这样轻松访问:
//given that args is of type []interface{}name := args[0]
age := args[1] //ect...
很好,但是我希望能够使用该strings
Join
函数,由于它需要type []string
而不是type
,因此通常会出错[]interface{}
。
可以使用该Join
功能的最合适的解决方案是什么,我想也许是某种转换方法?
回答:
您需要构造一个新的type数组[]string
才能使用strings.Join
:
import "fmt"import "strings"
func main() {
s1 := []interface{}{"a", "b", "c"}
s2 := make([]string, len(s1))
for i, s := range s1 {
s2[i] = s.(string)
}
fmt.Println(strings.Join(s2, ", "))
}
请参阅相关的Golang常见问题解答条目:我可以将[]
T转换为[]接口{}吗?
以上是 如何在Go中将[] interface {}转换为[]字符串? 的全部内容, 来源链接: utcz.com/qa/420799.html