您具有执行此操作的正常和安全的方法:
c := [6]C.double{ 1, 2, 3, 4, 5, 6 }fs := make([]float64, len(c))for i := range c { fs[i] = float64(c[i])}或者,您可以不方便地作弊并执行以下操作:
c := [6]C.double{ 1, 2, 3, 4, 5, 6 }cfa := (*[6]float64)(unsafe.Pointer(&c))cfs := cfa[:]如果
C.double和
float64是相同的基础类型,我们可以使用指向C.double数组的指针,不安全地将其强制转换为相同大小的float64数组的指针,然后获取该数组的一部分。
当然,调用它
unsafe是有充分理由的。



