Junior — Middle
Jakou hodnotu vrací funkce len při použití na řetězcový datový typ?
sobes.tech AI
Odpověď od AI
V jazyce Go funkce len, když je aplikována na řetězec, vrací počet bajtů v tomto řetězci, nikoli počet znaků (rune). To je způsobeno tím, že řetězce v Go jsou uloženy ve formátu UTF-8, kde jeden znak může zabírat několik bajtů.
Příklad:
s := "Привет"
fmt.Println(len(s)) // Zobrazí počet bajtů, například 12
Pokud chcete získat počet znaků (rune), musíte řetězec převést na slice rune:
fmt.Println(len([]rune(s))) // Zobrazí počet znaků, například 6