gpt4 book ai didi

string - 我如何将 []interface{} 转换为 Go 中的 []string?

转载 作者:IT王子 更新时间:2023-10-29 01:03:23 25 4
gpt4 key购买 nike

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

它内部有值,我可以像这样轻松访问:

//given that args is of type []interface{}
name := args[0]
age := args[1] //ect...

这很好,但我希望能够使用 strings Join 函数,它通常会出错,因为它需要类型 [ ]string 而不是键入 []interface{}

能够使用 Join 函数的最合适的解决方案是什么,我猜可能是某种转换?

最佳答案

您需要构造一个类型为 []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 FAQ 条目:can I convert a []T to an []interface{}?

关于string - 我如何将 []interface{} 转换为 Go 中的 []string?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22779787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com