Sobes.tech
Junior — Middle

Функсияи len дар вақте ки ба навъи маълумоти сатрӣ татбиқ карда мешавад, кадом арзишро бармегардонад?

sobes.tech AI

Ҷавоб аз AI

Дар забони Go, функсияи len вақте ки ба сатр татбиқ карда мешавад, шумораи байтҳоро дар он сатр бармегардонад, на шумораи рамзҳо (runes). Ин ба он вобаста аст, ки сатрҳо дар Go дар формати UTF-8 нигоҳ дошта мешаванд, ки дар он як рамз метавонад чанд байтро ишғол кунад.

Масалан:

s := "Привет"
fmt.Println(len(s)) // Нишон медиҳад шумораи байтҳо, масалан 12

Агар шумо хоҳед, ки шумораи рамзҳо (runes) -ро гиред, бояд сатрро ба слайс аз rune-ҳо табдил диҳед:

fmt.Println(len([]rune(s))) // Нишон медиҳад шумораи рамзҳо, масалан 6