Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengakses Watak Individu dalam Rentetan Pergi Daripada Nilai Berangkanya?

Bagaimana untuk Mengakses Watak Individu dalam Rentetan Pergi Daripada Nilai Berangkanya?

DDD
DDDasal
2024-12-13 03:13:13463semak imbas

How to Access Individual Characters in a Go String Instead of Their Numerical Values?

Mengakses Aksara dalam Go String

Soalan ini meneroka cara mengakses aksara dalam rentetan Go, menyelidiki sifat rentetan sebagai kepingan bait dan hubungan antara aksara, rune dan kod Unicode mata.

Soalan Asal:

Bagaimanakah saya boleh mendapatkan aksara "E" dan bukannya nilai berangka 69 apabila mengakses "HELLO"[1]?

Jawapan:

Untuk mendapatkan semula aksara daripada rentetan, satu mesti faham representasi watak Go. Literal rentetan yang ditafsirkan ialah jujukan aksara yang dikodkan dalam UTF-8, dengan aksara ASCII hanya menduduki satu bait. Oleh itu, untuk mendapatkan aksara "E", penukaran berikut diperlukan:

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

Alternatif: Menggunakan Runes

Untuk sokongan Unicode, rune, yang mewakili Unicode mata kod, boleh digunakan. Ini serasi dengan rentetan UTF-8:

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

Kod ini akan mengeluarkan aksara "e".

Keupayaan Pengendalian Watak Go

Perlu diingat bahawa Go menyediakan fungsi untuk menukar antara aksara dan bait. Sebagai contoh, kaedah bait(c) menukar aksara (rune) kepada bait yang sepadan, manakala rune(b) menukarkan bait kepada aksara.

Bacaan Tambahan:

  • [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 )

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Watak Individu dalam Rentetan Pergi Daripada Nilai Berangkanya?. 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