首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将指针片追加到另一片指针中去

将指针片追加到另一片指针中去
EN

Stack Overflow用户
提问于 2022-04-11 04:45:56
回答 2查看 85关注 0票数 0

假设我有这个结构

代码语言:javascript
运行
复制
type Rectangle struct {
    height string
    width  string
}

我有一个测试变量,它看上去就像这样

代码语言:javascript
运行
复制
testvar := []*Rectangle{
    {
        height: "100",
        width:  "100",
    },
    {
        height: "200",
        width:  "200",
    },
}

我在这里要做的是将这个测试变量附加到另一个[]*矩形中,然后循环

代码语言:javascript
运行
复制
anothervar:= []*Rectangle{}
for _, ptr := range testvar {
    fmt.Printf("%v\n", ptr)
    anothervar = append(anothervar, ptr)
    fmt.Printf("%p %v \n", anothervar, anothervar)
    fmt.Println()
}

最后,我得到了这个输出

我想打印的是另一个变量地址和值

EN

回答 2

Stack Overflow用户

发布于 2022-04-11 06:21:39

不知道这是不是你想要的。但是,按照操场代码的链接,可以使用非内置库打印结构指针数组的内容。

https://go.dev/play/p/tcfJYb0NnVf

您可能需要参考库来了解如何打印内容或只使用库本身。

票数 0
EN

Stack Overflow用户

发布于 2022-04-14 01:17:15

问题是,您的切片是指向矩形的指针片,所以当它被打印出来时,它会打印出值,但是这些值是指针。

您可以尝试这样的方法来打印出以下值:

代码语言:javascript
运行
复制
import (
    "fmt"
)

type Rectangle struct {
    height string
    width  string
}

func main() {
    
    testvar := []*Rectangle{
        {
            height: "100",
            width:  "100",
        },
        {
            height: "200",
            width:  "200",
        },
    }

    anothervar:= []*Rectangle{}
    for _, ptr := range testvar {
        fmt.Printf("%v\n", ptr)
        anothervar = append(anothervar, ptr)
        fmt.Printf("%p %+v \n", anothervar, anothervar)
        fmt.Println()
        printRectSlice(anothervar)
    }
}

func printRectSlice(s []*Rectangle) {
    fmt.Printf("{")
    for _, r := range s {
        fmt.Printf("%v", *r)
    }
    fmt.Println("}")
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71822797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档