Junior
Типи маълумоти string дар забони Golang чӣ маъно дорад?
sobes.tech AI
Ҷавоб аз AI
Гулангда string — бу ўзгартирилмайдиган байтлардан иборат тизм.
Асосий хусусиятлар:
- Ўзгартирилмаслик: Бир сатр яратилгандан кейин, уни ўзгартириш мумкин эмас. Ҳар қандай операция, бу сатрни ўзгартириш, аслида янги сатр яратади.
- Тасвирлаш: Сатр байтлардан иборат бўлиб, улар UTF-8 кодланган матнни ифодалайди деб ҳисобланади.
- Узунлиги: Сатрнинг узунлиги (
len(s)) сатрдaги байтлар сонини қайтариб, руна (символлар) сонини эмас. - Индекслов: Сатрдаги элементларга индекс ёрдамида кириш (
s[i]) бу индексдаги байтни қайтариб беради. - Руналар: Белгилар (руналар) билан ишлаш учун,
for rangeцикллари орқали сатр бўйлаб итерация қилинади, бу UTF-8 ни декод қилади ва руна ва уларнинг индекси билан таъминлайди.
Масалан:
// Сатрни бошлаш
s := "Привет, мир!" // 23 байт, 12 руна
// Сатрнинг узунлиги (байтда)
byteLength := len(s) // 23
// Байтга индекс орқали кириш
firstByte := s[0] // firstByte = 208 (UTF-8да 'П' байти)
// Рунага итерация
runeCount := 0
for index, runeValue := range s {
// index - руна бошланғич индекси (байтда)
// runeValue - декодланган руна
runeCount++
}
// runeCount = 12