Apa yang akan diperkenalkan oleh editor PHP Xinyi kepada anda hari ini ialah fungsi yang menukar hirisan int kepada jenis penunjuk hirisan int tersuai dalam bahasa Go. Dalam bahasa Go, slice ialah jenis data yang sangat biasa digunakan yang boleh menambah atau mengurangkan bilangan elemen secara dinamik. Kadangkala kita perlu menukar kepingan kepada jenis penuding kepingan tersuai untuk operasi dalam fungsi. Artikel ini akan menerangkan secara terperinci cara untuk mencapai penukaran ini dan memberikan kod sampel untuk rujukan. Melalui kajian artikel ini, saya percaya bahawa semua orang akan mempunyai pemahaman yang lebih mendalam tentang penggunaan kepingan dalam bahasa Go.
Saya ingin mengambil sekeping int sebagai input kepada pembina dan mengembalikan penunjuk ke senarai asal, menaip ke jenis tersuai luaran saya (type intlist []int
).
Saya boleh melakukan ini:
type intlist []int func newintlistptr(ints []int) *intlist { x := intlist(ints) return &x }
Tetapi saya tidak boleh melakukan ini:
type IntList []int func NewIntListPtr(ints []int) *IntList { return &ints } // or this for that matter: func NewIntListPtr(ints []int) *IntList { return &(IntList(ints)) } // or this func NewIntListPtr(ints []int) *IntList { return &IntList(*ints) } // or this func NewIntListPtr(ints *[]int) *IntList { return &(IntList(*ints)) }
Adakah ayat yang boleh mencapai ini?
Anda lakukan ini:
func NewIntListPtr(ints []int) *IntList { return (*IntList)(&ints) }
Atas ialah kandungan terperinci Fungsi dalam Go yang menukar hirisan int kepada jenis penuding hirisan int tersuai. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!