Sobes.tech
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