Golang ialah bahasa pengaturcaraan yang agak baharu Ia mempunyai banyak ciri dan kelebihan, seperti keselarasan tinggi, pengurusan memori yang baik dan kesederhanaan dan kemudahan pembelajaran. Walau bagaimanapun, disebabkan sintaks dan set aksara khasnya, mungkin sukar bagi sesetengah pemula untuk menilai aksara dan rentetan. Oleh itu, artikel ini akan memperkenalkan cara menentukan watak dalam Golang.
1. Set aksara Golang
Dalam set aksara Golang, setiap aksara terdiri daripada satu atau lebih bait. Panjang lalai aksara ialah 1 bait, tetapi sesetengah aksara mungkin terdiri daripada berbilang bait, bergantung pada pengekodan aksara yang digunakan untuk aksara itu.
Set aksara dan kaedah pengekodan dalam Golang adalah seperti berikut:
Kod ASCII ialah kaedah pengekodan aksara yang terawal, ia hanya Boleh mewakili aksara Inggeris dan beberapa simbol yang biasa digunakan. Kod ASCII menggunakan 7 bit untuk mewakili aksara, bit tertinggi ialah 0, dan boleh mewakili 128 aksara.
Di Golang, jenis byte
digunakan untuk mewakili kod ASCII, yang juga boleh diwakili oleh penukaran eksplisit jenis integer. Contohnya:
var ch byte = 'A' // 直接使用字符字面量来表示 ASCII 码 var asciiCode int = int(ch) // 通过显式转换将 byte 类型转为 int 类型
Kod Unikod ialah kaedah pengekodan aksara yang agak baharu yang boleh mewakili semua aksara dan simbol di dunia, termasuk teks dari negara yang berbeza dan simbol. Kod Unikod diwakili dalam Golang menggunakan jenis rune
atau melalui penukaran eksplisit jenis integer. Contohnya:
var ch1 rune = '世' // 直接使用 Unicode 字符字面量来表示 var ch2 rune = 'u4e16' // 也可以使用 Unicode 编码来表示,u4e16 表示 '世' var unicodeCode int = int(ch1) // 将 rune 类型转换为 int 类型
Perlu diambil perhatian bahawa kerana panjang kod Unikod mungkin melebihi 1 bait, apabila memproses rentetan Unicode, anda perlu memberi perhatian kepada maklumat panjang aksara.
Pengekodan UTF-8 ialah salah satu kaedah pengekodan Unicode yang paling biasa digunakan. Ia menggunakan bait panjang boleh ubah untuk mewakili aksara Kaedah pengekodan khusus adalah seperti berikut:
Di Golang, anda boleh menggunakan jenis rentetan string
untuk mewakili rentetan UTF-8. Contohnya:
var s string = "Hello, 世界" // 使用字符串字面量表示 UTF-8 字符串 var byteSlice []byte = []byte(s) // 将字符串转为 byte 数组,每个字符使用 1 个字节表示 var runeSlice []rune = []rune(s) // 将字符串转为 rune 数组,每个字符可能使用多个字节表示
2. Kaedah penilaian watak di Golang
Di Golang, terdapat banyak cara untuk menilai watak. Berikut adalah beberapa kaedah yang biasa digunakan.
Disebabkan kaedah pengekodan aksara yang berbeza, aksara mungkin terdiri daripada berbilang bait. Oleh itu, apabila beroperasi pada rentetan, anda perlu terlebih dahulu menentukan panjang aksara. Anda boleh menggunakan fungsi len
dan jenis []rune
untuk melaksanakan:
func GetCharLength(s string) int { // 将字符串 s 转为 rune 类型的切片 runeSlice := []rune(s) // 获取该切片的长度 length := len(runeSlice) return length }
Di Golang, anda boleh menggunakan pakej unicode
Fungsi IsLetter
digunakan untuk menentukan sama ada aksara ialah huruf Inggeris. Contohnya:
func IsLetter(ch rune) bool { return unicode.IsLetter(ch) }
Di Golang, anda boleh menggunakan fungsi unicode
dalam pakej IsDigit
untuk menentukan sama ada aksara ialah nombor. Contohnya:
func IsDigit(ch rune) bool { return unicode.IsDigit(ch) }
Di Golang, anda boleh menggunakan fungsi unicode
dalam pakej Is(0x4e00, 0x9fff)
untuk menentukan sama ada aksara adalah Cina. Contohnya:
func IsChinese(ch rune) bool { return unicode.Is(unicode.Han, ch) }
Di Golang, anda boleh menggunakan fungsi unicode
dalam pakej IsSpace
untuk menentukan sama ada watak adalah ruang. Contohnya:
func IsSpace(ch rune) bool { return unicode.IsSpace(ch) }
3. Ringkasan
Artikel ini memperkenalkan pengetahuan asas dan kaedah pertimbangan biasa bagi set watak di Golang. Bagi pemula, adalah sangat penting untuk menguasai representasi dan pertimbangan watak dalam Golang. Saya harap pembaca dapat lebih memahami watak dan rentetan dalam Golang melalui pengenalan artikel ini.
Atas ialah kandungan terperinci Cara menilai watak golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!