Junior — Middle
Программалоодо жолдун символдорун карап чыгууда кандай өзгөчөлүктөр бар?
sobes.tech AI
AIден жооп
Go'да жолдор байттардын тизмеги катары көрсөтүлөт, бирок алар көбүнчө UTF-8 коддоо менен белгилерди камтыйт, анда бир белгилер (рун) бир нече байтты алат. Жолду индекс боюнча өтүп жатканда (мисалы, for i := 0; i < len(s); i++) сиз байттар аркылуу өтөсүз, белгилер эмес, бул көп байттуу белгилердин туура эмес иштешине алып келиши мүмкүн.
Туура белгилер аркылуу өтүү үчүн, for range цикл колдонулат, ал Unicode код пункттары (руналар) боюнча өтөт:
s := "Привет"
for i, r := range s {
fmt.Printf("индекс: %d, белгилер: %c\n", i, r)
}
Мында, i жолдогу руна биринчи байттын индексин көрсөтөт, ал эми r өзү руна. Бул көп тилдүү тексттер жана ASCII тышкары белгилер менен туура иштөө үчүн маанилүү.