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

以下会报错

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)
}