如何在Go中将[] interface {}转换为[]字符串?

目前,我目前正在处理一些代码,其中涉及类型为var的 []interface{}

它具有价值,我可以像这样轻松访问:

//given that args is of type []interface{}

name := args[0]

age := args[1] //ect...

很好,但是我希望能够使用该stringsJoin函数,由于它需要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

回到顶部