0Pricing
Go Academy · Lekcja

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ępuje sub.
  • strings.HasPrefix i strings.HasSuffix sprawdzają 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

  1. Runy a bajty
  2. Funkcje pakietu strings
  3. strings.Builder
  4. Unicode i utf8
← Powrót do Go Academy