登录
首页 >  Golang >  Go问答

链接两个指针切片的 Golang 实现

来源:stackoverflow

时间:2024-02-20 11:09:23 104浏览 收藏

从现在开始,努力学习吧!本文《链接两个指针切片的 Golang 实现》主要讲解了等等相关知识点,我会在golang学习网中持续更新相关的系列文章,欢迎大家关注并积极留言建议。下面就先一起来看一下本篇正文内容吧,希望能帮到你!

问题内容

在调用 rest api 的 golang 程序中,我需要收集来自不同 rest api 的响应,这些 api 返回同一结构的指针片段。 我正在尝试使用追加连接指针切片,但收到类似于如下所示的错误。 我认为append不支持这样的操作,有什么替代方法吗?

不能在附录 中使用响应(类型 []*string)作为类型 *string

这里给出了我试图演示的问题的演示链接。 https://play.golang.org/p/lnzsd2kbht0

package main

import (
    "fmt"
)

func main() {
    var fruits []*string

    response := GetStrings("Apple")
    fruits = append(fruits, response...)
    response = GetStrings("Banana")
    fruits = append(fruits, response...)
    response = GetStrings("Orange")
    fruits = append(fruits, response...)

    if fruits == nil || len(fruits) == 0 {
        fmt.Printf("Nil Slice")
    } else {
        fmt.Printf("Non nil")
        fmt.Printf("%v", fruits)
    }

}

func GetStrings(input string) []*string {
    var myslice []*string
    myslice = append(myslice, &input)
    return myslice
}

我无法更改 rest api 或函数签名来返回结构体本身的切片。


解决方案


要将一个切片的所有元素附加到另一个切片,请使用:

resultSlice=append(slice1, slice2...)

本篇关于《链接两个指针切片的 Golang 实现》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>