Junior — Middle
len функциясы жолду иштеткенде кандай маалыматтарды кайтарат?
sobes.tech AI
AIден жооп
Go тилинде, len функциясы бир сапка колдонулганда, ал ошол саптагы байттардын санын кайтарат, белгилердин (rune) санын эмес.
Бул, Goдогу саптар UTF-8 форматында сакталуусуна байланыштуу; анда бир белгиге 1ден 4 байтка чейин орун бөлүнүшү мүмкүн. Ошондуктан, len байттардын узундугун кайтарат.
Мисал:
package main
import (
"fmt"
)
func main() {
s := "Привет" // орус сөзү
fmt.Println(len(s)) // Байттардын санын көрсөтөт, мисалы 12
}
Эгер белгилердин (rune) санын алгыңыз келсе, сапты rune кесимине айландыруу керек:
runes := []rune(s)
fmt.Println(len(runes)) // Белгилердин санын көрсөтөт, мисалы 6
Ошентип, len сап үчүн байттардын узундугун көрсөтөт, белгилердин эмес.