Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengakses dan Menukar Aksara dengan Cekap dalam Go Strings?

Bagaimana untuk Mengakses dan Menukar Aksara dengan Cekap dalam Go Strings?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-19 06:22:13782semak imbas

How to Efficiently Access and Convert Characters in Go Strings?

Pengindeksan Aksara dalam Rentetan Golang

Rentetan Go diwakili sebagai jujukan bait dalam pengekodan UTF-8. Untuk mengakses aksara individu, yang mungkin menduduki berbilang bait, seseorang boleh memanfaatkan rentetan atau []penukaran rune.

Mengakses Aksara ASCII

Dalam contoh:

fmt.Print("HELLO"[1])

Watak pada indeks 1 rentetan "HELLO" diakses. Memandangkan aksara ASCII hanya menduduki satu bait, hasilnya ialah nilai bait 69.

Menukar Bait kepada Aksara

Untuk mendapatkan nilai aksara sebenar, bait boleh ditukar kepada rentetan. Ini memastikan pengendalian UTF-8 yang betul:

fmt.Println(string("Hello"[1])) // ASCII only

Mengakses Aksara Unikod

Untuk aksara Unicode, yang boleh menjangkau berbilang bait, []penukaran rune diperlukan:

fmt.Println(string([]rune("Hello, 世界")[1])) // UTF-8

Menukar Rune kepada Bait

Untuk menukar rune kembali kepada kepingan bait, ia boleh dihantar sebagai argumen kepada []bait:

fmt.Println(string([]byte("Hello"))) // ASCII only

Rujukan:

  • [Pergi bahagian Spesifikasi Bahasa Pengaturcaraan pada Penukaran](https://go.dev/ref/spec#Conversions)
  • [The Go Blog: Rentetan, bait, rune dan aksara dalam Go](https://blog.golang.org/strings -bait-rune-dan-aksara-dalam-pergi)

Atas ialah kandungan terperinci Bagaimana untuk Mengakses dan Menukar Aksara dengan Cekap dalam Go Strings?. 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