golang 指针值如何转化为其结构体?
比如创建了一个指针值的切片,但无法直接赋值为其结构体创建的切片。
以下会报错
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
var nodes []*TaskNode
确实没有更好的办法
类型都不一样呢,直接赋值不正确哦