Hogyan dolgozhatsz szövegekkel a Go nyelvben?
sobes.tech MI
Válasz az MI-től
A Go nyelvben a sztringek nem módosítható byte-sorozatok.
A sztringekkel való munkavégzés fő módszerei:
-
Létrehozás:
// Sztring literál s1 := "Hello, Go!" // Byte szeletből byteArray := []byte{'H', 'e', 'l', 'l', 'o'} s2 := string(byteArray) -
Összefűzés:
s3 := "World" result := s1 + " " + s3 // A + operátor használataNagyobb összefűzésekhez hatékonyabb a
strings.Builderhasználata:import "strings" var sb strings.Builder sb.WriteString("Hello") sb.WriteString(", ") sb.WriteString("World!") result2 := sb.String() -
Hossz:
- Byte-okban:
byteLength := len(s1) - Karakterekben (runák):
runeLength := utf8.RuneCountInString(s1) // Az "unicode/utf8" import szükséges
- Byte-okban:
-
Hozzáférés karakterekhez (runákhoz) és iterálás: Go-ban a sztringek byte-okból állnak, de a
rangehasználatakor dekódolódnak runákra (Unicode kódpontokra).import "fmt" for index, runeValue := range s1 { fmt.Printf("Index: %d, Rune: %c, Típus: %T\n", index, runeValue, runeValue) }A közvetlen indexelés byte-ot ad vissza, nem runát:
b := s1[0] // 'H' byte-ot ad -
Átalakítás:
- Byte szeletre:
byteSlice := []byte(s1) - Rune szeletre:
runeSlice := []rune(s1)
- Byte szeletre:
-
stringscsomag: Sok hasznos funkciót kínál a sztringekkel való munkához:strings.Contains(s, substr): Ellenőrzi, hogy tartalmaz-e egy al-sztringet.strings.HasPrefix(s, prefix): Ellenőrzi, hogy a sztring egy prefix-szel kezdődik-e.strings.HasSuffix(s, suffix): Ellenőrzi, hogy a sztring egy suffix-szel végződik-e.strings.Index(s, substr): Megkeresi az első előfordulását egy al-sztringnek.strings.ReplaceAll(s, old, new): Minden előfordulást helyettesít.strings.Split(s, sep): Sztringet feloszt egy szeparátor mentén.strings.Join(a []string, sep string): Összefűzi a sztringeket egy szeparátorral.strings.ToLower(s): Kisbetűssé alakít.strings.ToUpper(s): Nagybetűssé alakít.strings.TrimSpace(s): Eltávolítja a szóközöket a sztring elejéről és végéről.
-
fmtcsomag: Formázott kiíráshoz és beolvasáshoz. -
strconvcsomag: Sztringek konvertálása numerikus típusokra és fordítva:import "strconv" i, err := strconv.Atoi("123") // Sztringből int s := strconv.Itoa(i) // Intből sztring
A sztringek immutabilitása fontos, és azt jelenti, hogy minden olyan művelet, ami úgy tűnik, módosítaná a sztringet (pl. összefűzés vagy Replace), valójában egy új sztringet hoz létre.