比如创建了一个指针值的切片,但无法直接赋值为其结构体创建的切片。
以下会报错
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)
}
var nodes []*TaskNode