Mencari Kedudukan Elemen dalam Slices
Menentukan kedudukan elemen dalam kepingan dalam Go tidak ditampung oleh fungsi perpustakaan generik. Reka bentuk bahasa Go tidak mempunyai pendekatan yang mudah untuk mentakrifkan fungsi yang boleh digunakan untuk mana-mana jenis kepingan.
Pelaksanaan Tersuai
Anda boleh menentukan fungsi anda sendiri, seperti yang ditunjukkan dalam sampel kod yang anda sediakan, untuk mencapai tugas ini:
type intSlice []int func (slice intSlice) pos(value int) int { for p, v := range slice { if v == value { return p } } return -1 }
Fungsi ini berulang melalui kepingan, membandingkan setiap elemen dengan nilai yang ditentukan. Jika nilai ditemui, kedudukannya dikembalikan; jika tidak, -1 dikembalikan.
Sementara fungsi ini berfungsi, peningkatan kecil boleh dibuat dengan menggunakan sintaks julat yang lebih pendek:
func (slice intSlice) pos(value int) int { for i, v := range slice { if v == value { return i } } return -1 }
Alternatif untuk Slices Byte
Jika kepingan anda mengandungi elemen bait, fungsi bait.IndexByte boleh digunakan untuk mencari kedudukan sesuatu nilai bait. Sintaksnya adalah seperti berikut:
func IndexByte(s \[\]byte, c byte) int
Atas ialah kandungan terperinci Bagaimana Saya Boleh Mencari Kedudukan Elemen dalam Go Slice?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!