golang 指针值如何转化为其结构体?

发布于 2022-09-12 22:49:52 字数 557 浏览 26 评论 0

比如创建了一个指针值的切片,但无法直接赋值为其结构体创建的切片。

以下会报错

package main
import "fmt"
type Task struct {
   TaskNodes TaskNode `json:"task_nodes"`
}
type TaskNode struct {
   Name string `json:"name"`
}
func getData() (nodes []*TaskNode) {
   nodes = make([]*TaskNode, 0)
   return
}

func main() {
   var nodes []TaskNode
   nodes2 := getData()
   nodes = nodes2
   fmt.Println("nodes = ", nodes)
}

必须再一次循环转入,除此之外,有没有其他更好的方法

for _, n := range nodes2 {
   nodes = append(nodes, *n)
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

叫思念不要吵 2022-09-19 22:49:52

var nodes []*TaskNode

画骨成沙 2022-09-19 22:49:52

确实没有更好的办法

简单气质女生网名 2022-09-19 22:49:52

类型都不一样呢,直接赋值不正确哦

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文