Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah saya boleh mengulangi rentetan dengan rune dalam Go?

Bagaimanakah saya boleh mengulangi rentetan dengan rune dalam Go?

DDD
DDDasal
2024-11-16 03:56:03952semak imbas

How can I iterate over a string by runes in Go?

Lelaran Atas Rentetan oleh Runes dalam Go

Apabila bekerja dengan rentetan dalam Go, selalunya perlu untuk mengulangi setiap aksara atau rune yang membentuk rentetan. Walaupun nampaknya mudah untuk menggunakan jenis []bait terbina dalam, pendekatan ini hanya mempertimbangkan bait yang mewakili rune, bukan rune itu sendiri.

Untuk mengulangi rentetan mengikut rune dengan berkesan, anda boleh menggunakan sintaks julat, yang menyediakan cara yang mudah untuk menggelung pada titik kod Unikod rentetan. Kaedah ini menghuraikan pengekodan UTF-8 rentetan secara automatik, membolehkan anda mengakses rune secara terus.

Berikut ialah contoh:

for pos, char := range "日本語" {
    fmt.Printf("character %c starts at byte position %d\n", char, pos)
}

Kod ini akan mencetak:

character 日 starts at byte position 0
character 本 starts at byte position 3
character 語 starts at byte position 6

Sintaks julat berulang pada titik kod Unicode rentetan, memberikan akses kepada kedua-dua titik kod itu sendiri (diwakili oleh char) dan permulaannya kedudukan bait dalam rentetan (diwakili oleh pos). Ini membolehkan pemprosesan fleksibel rune dalam rentetan.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mengulangi rentetan dengan rune dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn