我想创建类型的元素切片*Person。


package main


type Person struct {

    Name string

}


func convertRefTypeToType(refPerson *Person) Person {

    // is it possible to convert *Person to Person

    return Person{}

}


func main() {

    personRef := &Person{Name: "Nick"}

    person := convertRefTypeToType(personRef)

    people := []Person{personRef} // person

}

但有错误:


./refConvert.go:16: cannot use personRef (type *Person) as type Person in array element

是否可以将 type*Person元素转换为 type元素Person?这种愿望可能看起来很奇怪,但我的目标函数接受类型参数,*Person并且在此目标函数中我必须创建切片。