Junior — Middle
Ko pārstāv [] operatora izpildes rezultāts virknes datu tipam?
sobes.tech AI
Atbilde no AI
Go valodā operators [] tiek izmantots, lai iegūtu virknes baitu šķēli vai atsevišķu baitu pēc indeksa. Go virkne ir nemainīga baitu secība (UTF-8). Pieejot pie str[i], tiek atgriezts baitas tips byte (pseudonīms uint8), nevis simbols parastajā nozīmē, jo Unicode simboli var aizņemt vairākus baitus.
Piemērs:
s := "Привет"
fmt.Println(s[0]) // Parādīs baitu, kas atbilst pirmajai daļai rakstzīmes 'П'
fmt.Println(string(s[0])) // Parādīs nepareizu simbolu, jo tas nav pilns UTF-8 simbols
// Lai iegūtu simbolus (runes), ir nepieciešams pārveidot virkni par rune šķēli:
r := []rune(s)
fmt.Println(string(r[0])) // Parādīs 'П'
Tādējādi, operators [] virknēm atgriež baitu pēc indeksa, nevis Unicode simbolu.