Go tilida satrlar bilan qanday ishlash mumkin?
sobes.tech AI
AIdan javob
Go tilida satrlar o'zgarmas ketma-ketliklar sifatida hisoblanadi.
Satrlar bilan ishlashning asosiy usullari:
-
Yaratish:
// Satr literal s1 := "Hello, Go!" // Baytlar massividan byteArray := []byte{'H', 'e', 'l', 'l', 'o'} s2 := string(byteArray) -
Qo'shish:
s3 := "World" result := s1 + " " + s3 // + operatoridan foydalanishKo'p qo'shishlar uchun
strings.Builderdan foydalanish samaraliroq:import "strings" var sb strings.Builder sb.WriteString("Hello") sb.WriteString(", ") sb.WriteString("World!") result2 := sb.String() -
Uzunlik:
- Baytlarda:
byteLength := len(s1) - Belgilarda (runes):
runeLength := utf8.RuneCountInString(s1) // "unicode/utf8" import qilish shart
- Baytlarda:
-
Belgilar (runes) va iteratsiya qilish: Go satrlari baytlardan iborat, ammo
rangeyordamida iteratsiya qilinsa, ular Unicode kod nuqtalariga (runes) dekodlanadi.import "fmt" for index, runeValue := range s1 { fmt.Printf("Indeks: %d, Rune: %c, Turi: %T\n", index, runeValue, runeValue) }To'g'ridan-to'g'ri indeksga kirish baytni qaytaradi, runeni emas:
b := s1[0] // 'H' baytini qaytaradi -
Konvertatsiya:
- Baytlar massiviga:
byteSlice := []byte(s1) - Rune massiviga:
runeSlice := []rune(s1)
- Baytlar massiviga:
-
stringspaket: Satrlar bilan ishlash uchun ko'plab foydali funksiyalar taqdim etadi:strings.Contains(s, substr): Substring mavjudligini tekshiradi.strings.HasPrefix(s, prefix): Prefix bilan boshlashini tekshiradi.strings.HasSuffix(s, suffix): Suffix bilan tugashini tekshiradi.strings.Index(s, substr): Birinchi uchrashuvni topadi.strings.ReplaceAll(s, old, new): Barcha o'zgarishlarni amalga oshiradi.strings.Split(s, sep): Satrlarga bo'linadi.strings.Join(a []string, sep string): Satrlardan iborat massivni birlashtiradi.strings.ToLower(s): Kichik harflarga o'tkazadi.strings.ToUpper(s): Katta harflarga o'tkazadi.strings.TrimSpace(s): Boshlash va oxiridagi bo'sh joylarni olib tashlaydi.
-
fmtpaketi: Formatlangan chiqarish va o'qish uchun. -
strconvpaketi: Satrlardan raqamli tiplarga va aksincha o'tkazish uchun:import "strconv" i, err := strconv.Atoi("123") // Stringdan intga s := strconv.Itoa(i) // Intdan stringga
Satrlarning o'zgarmasligi muhim bo'lib, har qanday operatsiya (masalan, qo'shish yoki Replace) aslida yangi satr yaratadi.