Sobes.tech
Middle

Go тілінде for range арқылы жол бойынша қайталау деген не? Цикл ішіндегі i және v айнымалылары қандай және олардың деректер түрлері қандай?

sobes.tech AI

AI-дан жауап

Go тілінде for range құрылымы коллекциялар бойынша қайталану үшін пайдаланылады, соның ішінде жолдар да бар. Жол бойынша қайталанғанда for i, v := range str:

  • i — ағымдағы таңбаның индексі, типі int.
  • v — ағымдағы таңбаның мәні, типі rune (Unicode код нүктесі).

Бұл маңызды, себебі, Go-да жолдар — байттар тізбегі, ал range жол бойынша қайталанғанда нақты руна таңбаларын қайтарады, көпбайтты UTF-8 таңбаларын дұрыс өңдейді.

Мысал:

str := "Привет"
for i, v := range str {
    fmt.Printf("Индекс: %d, Символ: %c, Тип: %T\n", i, v, v)
}

Шығу әрбір таңбаның байт индексін және өзі руна ретінде көрсетеді.