Funkcje pakietu strings
Dziel, łącz i przycinaj
Funkcje pakietu strings to bezpłatna lekcja Go Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Go Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Go Academy zawiera 4 lekcji w sumie.
Pakiet strings
Pakiet standardowej biblioteki strings udostępnia gotowe funkcje pomocnicze do pracy z tekstem: wyszukiwania, dzielenia, łączenia, usuwania znaków z brzegów i zmiany wielkości liter.
Należy zaimportować go za pomocą import "strings".
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.ToUpper("hello"))
}Contains i HasPrefix
Podciągi można sprawdzać bez pisania pętli:
strings.Contains(s, sub)informuje, czy występujesub.strings.HasPrefixistrings.HasSuffixsprawdzają początek i koniec.
package main
import (
"fmt"
"strings"
)
func main() {
s := "golang"
fmt.Println(strings.Contains(s, "lan"))
fmt.Println(strings.HasPrefix(s, "go"))
}Znajdowanie pozycji
strings.Index(s, sub) zwraca indeks bajtowy pierwszego dopasowania lub -1, jeśli nie zostało znalezione.
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.Index("chocolate", "col"))
fmt.Println(strings.Index("chocolate", "xyz"))
}Dzielenie stringu
strings.Split(s, sep) dzieli string na wycinek, używając separatora.
Doskonale nadaje się do analizowania danych w stylu CSV.
package main
import (
"fmt"
"strings"
)
func main() {
parts := strings.Split("a,b,c", ",")
fmt.Println(parts)
fmt.Println(len(parts))
}Dzielenie według białych znaków
strings.Fields(s) dzieli tekst w miejscach występowania dowolnego ciągu białych znaków i usuwa puste fragmenty. Jest idealne do liczenia słów.
package main
import (
"fmt"
"strings"
)
func main() {
words := strings.Fields(" the quick brown fox ")
fmt.Println(words)
fmt.Println(len(words))
}Łączenie wycinków
strings.Join(slice, sep) jest odwrotnością Split: łączy elementy wycinka za pomocą separatora.
package main
import (
"fmt"
"strings"
)
func main() {
parts := []string{"2026", "05", "30"}
fmt.Println(strings.Join(parts, "-"))
}Usuwanie białych znaków z brzegów
strings.TrimSpace(s) usuwa początkowe i końcowe białe znaki, dzięki czemu świetnie nadaje się do oczyszczania danych wejściowych użytkownika.
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.TrimSpace(" hi there ") + "!")
}Usuwanie określonych znaków z brzegów
strings.Trim(s, cutset) usuwa dowolne podane znaki z obu końców. TrimPrefix i TrimSuffix usuwają dokładnie wskazane stringi.
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.Trim("***name***", "*"))
fmt.Println(strings.TrimSuffix("file.txt", ".txt"))
}Zastępowanie tekstu
strings.ReplaceAll(s, old, new) zamienia każde wystąpienie. Aby ograniczyć zamianę do pierwszych n dopasowań, należy użyć strings.Replace(s, old, new, n).
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.ReplaceAll("a-b-c", "-", "+"))
fmt.Println(strings.Replace("a-b-c", "-", "+", 1))
}Powtarzanie i zliczanie
Dwie kolejne przydatne funkcje pomocnicze:
strings.Repeat(s, n)tworzy powtarzający się string.strings.Count(s, sub)zlicza niepokrywające się wystąpienia.
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.Repeat("ab", 3))
fmt.Println(strings.Count("banana", "a"))
}Łączenie funkcji
Te funkcje dobrze się komponują. W tym przykładzie usuwamy zbędne białe znaki, dzielimy string i ponownie go łączymy, aby uzyskać uporządkowaną listę rozdzielaną przecinkami.
package main
import (
"fmt"
"strings"
)
func main() {
raw := " go rust zig "
words := strings.Fields(raw)
fmt.Println(strings.Join(words, ", "))
}Szybkie sprawdzenie
Wybierz funkcję, która łączy wycinek w jeden string.
Podsumowanie: funkcje pakietu strings
Masz teraz zestaw narzędzi do pracy z tekstem:
- Wyszukiwanie:
Contains,Index,HasPrefix. - Dzielenie:
Split,Fields. - Łączenie:
Join,Repeat. - Oczyszczanie:
TrimSpace,Trim,ReplaceAll.
package main
import (
"fmt"
"strings"
)
func main() {
s := " Hello, Go World "
fmt.Println(strings.ToLower(strings.TrimSpace(s)))
}Często zadawane pytania
Czy lekcja „Funkcje pakietu strings” jest bezpłatna?
Tak — pełny tekst „Funkcje pakietu strings” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Go Academy, przejdź na CoddyKit PRO. Kurs Go Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Funkcje pakietu strings”?
Dziel, łącz i przycinaj Ćwiczysz Go Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Go Academy?
Nie wymagamy żadnego doświadczenia. Go Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Funkcje pakietu strings”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Go Academy?
Tak. Każda lekcja Go Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Runy a bajty
- Funkcje pakietu strings
- strings.Builder
- Unicode i utf8