我目前正在使用一些代码,其中涉及一个类型为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转换为[]接口{}吗?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句