go - 无法连接切片
问题描述
我有以下代码,它返回 4 个切片,我想做一个。
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)
我没有发布整个代码,因为我猜它不需要,返回的切片是这些:
[31.8k]、[3151]、[50.5k]、[8111],但我想得到 [31.8k 3151 50.5k 8111]。p 变量是一个字符串,所以我收到以下错误:
不能在追加中使用 p(类型字符串)作为类型 [] 字符串
我尝试了一些事情但没有成功,希望有人能指出我做错了什么。提前致谢!
解决方案
显然,您在循环中添加的方式不会产生您想要的列表。
postArray = append(postArray, p...) // you are appending a vector here which you don't want in your case
而是使用这个,
postArray = append(postArray, p)
推荐阅读
- c# - 并行解析大量 XML 文件
- jquery-ui-sortable - 从数组中创建可排序的 JS 列表
- excel - 如何使用vba计算一列中相隔几行的一对文本?
- c++ - 联合中的友元函数中出现错误“...没有命名类型” - 为什么?怎么修?
- amazon-web-services - AWS CodeBuild - cd: can't cd to /codebuild/output/src... 错误和未找到工件路径
- php - 如何修复连接超时,cURL 错误 28?
- c++ - Rate Beer API:接收 500 代码,在实际发送数据时给出“POST body missing”
- domain-driven-design - 两个聚合之间的数据重复
- r - 删除R中重复字符之前的所有内容
- sorting - 按 2 行为一组对文本文件进行排序