Sobes.tech
Junior — Middle

Kādu vērtību atgriež funkcija len, ja tā tiek piemērota virknes datu tipam?

sobes.tech AI

Atbilde no AI

Go valodā, funkcija len, ja tā tiek piemērota virknei, atgriež šīs virknes baitu skaitu, nevis rakstzīmju (rune) skaitu. Tas ir tāpēc, ka virknes Go tiek glabātas UTF-8 formātā, kur viena rakstzīme var aizņemt vairākus baitus.

Piemērs:

s := "Привет"
fmt.Println(len(s)) // Parādīs baitu skaitu, piemēram, 12

Ja vēlaties iegūt rakstzīmju (rune) skaitu, jums jāveic virknes pārveidošana par rune masīvu:

fmt.Println(len([]rune(s))) // Parādīs rakstzīmju skaitu, piemēram, 6