我有以下代码,该代码返回4个 slice ,我想将其设为一个。

 var postArray []string

        if strings.Contains(s.Text(), "k") || greaterThan(voteValue) {
            postArray = append(postArray, s.Text())
        }

        for _, p := range postArray {
            postArray = append(postArray, p...)
            fmt.Println(reflect.TypeOf(p))
        }

        fmt.Println(postArray)

我没有发布整个代码,因为我猜不需要它,返回的 slice 是这些 slice :

[31.8k],[3151],[50.5k],[8111],但我想获得[31.8k 3151 50.5k 8111]。 p变量是一个字符串,因此出现以下错误:

不能在附件中使用p(字符串类型)作为[] string类型

我已经尝试了一些方法,但没有成功,希望有人可以指出我做错了什么。提前致谢!

最佳答案

显然,您添加到循环中的方式不会导致您想要的列表。

postArray = append(postArray, p...)  // you are appending a vector here which you don't want in your case

改用这个
postArray = append(postArray, p)

关于go - 无法合并 slice ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60695983/

10-13 05:35