Junior
Go тилинде жолдор менен иштөө кандай?
sobes.tech AI
AIден жооп
Go тилиндеги саптар — бул өзгөрүлбөс байттардын үздүк тизмеги.
Негизги иштөө ыкмалары:
-
Жасоо:
// Саптардын литерлери s1 := "Hello, Go!" // Байткалар массивинен byteArray := []byte{'H', 'e', 'l', 'l', 'o'} s2 := string(byteArray) -
Конкатенация:
s3 := "World" result := s1 + " " + s3 // + операторун колдонууКөптөгөн конкатенациялар үчүн
strings.Builderколдонуу натыйжалуу:import "strings" var sb strings.Builder sb.WriteString("Hello") sb.WriteString(", ") sb.WriteString("World!") result2 := sb.String() -
Узундук:
- Байттарда:
byteLength := len(s1) - Белгилерде (руна):
runeLength := utf8.RuneCountInString(s1) // "unicode/utf8" импорт талап кылынат
- Байттарда:
-
Белгилерге (руна) жетүү жана итерүү: Go саптары байттардан турат, бирок
rangeаркылуу алар Unicode кодтук чекиттерине (руна) декоддошот.import "fmt" for index, runeValue := range s1 { fmt.Printf("Индекс: %d, Руна: %c, Тип: %T\n", index, runeValue, runeValue) }Түз жетүү индекстер боюнча байтты кайтарат, руна эмес:
b := s1[0] // 'H' байтын кайтарат -
Өзгөртүү:
- Байттардын массивине:
byteSlice := []byte(s1) - Руна массивине:
runeSlice := []rune(s1)
- Байттардын массивине:
-
stringsпакети: Төмөнкү пайдалуу функцияларды камтыйт:strings.Contains(s, substr): Подстрока бар-жогун текшерет.strings.HasPrefix(s, prefix): Текст белгилүү префикстен башталат деп текшерет.strings.HasSuffix(s, suffix): Текст белгилүү суффикстен аяктайт деп текшерет.strings.Index(s, substr): Биринчи кездешүүнү издейт.strings.ReplaceAll(s, old, new): Бардык алмаштырууларды жасайт.strings.Split(s, sep): Текстти бөлөт.strings.Join(a []string, sep string): Тизмедеги саптарды бириктирет.strings.ToLower(s): Текстти кичинекей тамгаларга айлантат.strings.ToUpper(s): Текстти чоң тамгаларга айлантат.strings.TrimSpace(s): Бос орундарды алып салат.
-
fmtпакети: Форматталган чыгуу жана окуу үчүн. -
strconvпакети: Тексттерди сандык түрлөргө жана тескерисинче айландыруу.import "strconv" i, err := strconv.Atoi("123") // Текстти бүтүн санга айландыруу s := strconv.Itoa(i) // Бүтүн санды текстке айландыруу
Тексттердин өзгөрбөстүгү маанилүү жана бул операциялар (мисалы, кошуу же Replace) чын эле жаңы текст түзөт дегенди билдирет.