Зарегистрируйтесь, чтобы продолжить обучение

Полезные функции для строк Основы Go

Go предоставляет набор функций для работы со строками в пакете strings. Эти функции не требуют создания новых типов и работают напрямую со значениями типа string.

Чтобы использовать их, нужно импортировать пакет:

import "strings"

Приведение к нижнему и верхнему регистру

strings.ToLower("HeLLo") // "hello"
strings.ToUpper("HeLLo") // "HELLO"

Проверка начала и конца строки

strings.HasPrefix("golang", "go")       // true
strings.HasSuffix("version.go", ".go")  // true

Поиск подстроки

strings.Contains("hello world", "world") // true
strings.Index("hello world", "lo")       // 3
strings.Index("hello world", "go")       // -1

Замена подстроки

strings.Replace("foo bar foo", "foo", "baz", 1)  // "baz bar foo"
strings.Replace("foo bar foo", "foo", "baz", -1) // "baz bar baz"

Четвёртый аргумент — число замен. -1 означает заменить все вхождения.

Повторение строки

strings.Repeat("na", 3) // "nananana"

Функция Repeat возвращает новую строку, повторяя исходную указанное число раз. Если указать 0 — вернётся пустая строка.

Удаление пробелов в начале и конце

strings.TrimSpace("  hello\n") // "hello"

Удаляются пробелы, табуляция, переносы строк.

Срезы строк (slicing)

В Go можно получать части строки, указывая диапазон индексов в квадратных скобках. Индексы задаются по позиции байтов, начиная с 0.

text := "golang"

// символы с позиции 0 до 2, не включая 2
fmt.Println(text[0:2]) // => "go"

// от начала до позиции 4
fmt.Println(text[:4])  // => "gola"

// от позиции 3 до конца строки
fmt.Println(text[3:])  // => "ang"

// вся строка
fmt.Println(text[:])   // => "golang"

Дополнительные материалы

  1. Пакет strings

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff