Junior — Middle
Wyjaśnij koncepcję typu łańcucha w języku Go i jego główne cechy.
sobes.tech AI
Odpowiedź od AI
W języku Go typ string (string) reprezentuje niezmienną sekwencję bajtów, zwykle używaną do przechowywania tekstu w kodowaniu UTF-8.
Główne cechy łańcuchów w Go:
- Niezmienność: Po utworzeniu łańcucha nie można go zmienić. Operacje zmieniające łańcuch tworzą nowy łańcuch.
- Kodowanie UTF-8: Łańcuchy są przechowywane w UTF-8, co pozwala na pracę z tekstem wielojęzycznym.
- Dostęp po bajtach: Indeksowanie łańcucha zwraca bajt, nie znak (rune). Do pracy ze znakami używa się typu
rune. - Wsparcie dla wycinków: Można uzyskać podłańcuchy za pomocą wycinków, np.
s[0:5].
Przykład pracy z łańcuchami i runami:
s := "Привет"
fmt.Println(len(s)) // liczba bajtów
for i, r := range s {
fmt.Printf("%d: %c\n", i, r) // wyświetla indeks bajtu i znak
}
W związku z tym, łańcuchy w Go są wygodnym i wydajnym sposobem pracy z tekstem, ale wymaga to zrozumienia różnicy między bajtami a znakami.