Lelaran Melalui Rentetan oleh Rune dalam Go
Dalam Go, anda mungkin menghadapi situasi di mana anda ingin mengulangi rentetan dengannya rune individu, atau mata kod Unicode. Anda mungkin tergoda untuk menggunakan gelung for tradisional dengan indeks i untuk mengakses setiap aksara:
for i := 0; i < len(str); i++ { dosomethingwithrune(str[i]) // takes a rune }
Walau bagaimanapun, pendekatan ini tidak akan berfungsi dengan betul kerana str[i] mengembalikan bait (uint8) dan bukannya rune. Untuk mengulangi rentetan mengikut rune, anda perlu menggunakan sintaks julat:
for pos, char := range "日本語" { fmt.Printf("character %c starts at byte position %d\n", char, pos) }
Kod ini akan mencetak output berikut:
character 日 starts at byte position 0 character 本 starts at byte position 3 character 語 starts at byte position 6
Seperti yang dijelaskan oleh dokumentasi untuk Effective Go, sintaks julat "melakukan lebih banyak kerja untuk anda, memecahkan titik kod Unicode individu dengan menghuraikan UTF-8." Ini membolehkan anda bekerja dengan rune secara langsung, menjadikannya lebih mudah untuk melaksanakan operasi berkaitan Unikod pada rentetan anda.
Atas ialah kandungan terperinci Bagaimana untuk Mengulangi Rentetan oleh Runes dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!