РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
141 of 1593 menu

Функция strings.Map

Функция strings.Map применяет заданную функцию преобразования к каждому символу (руне) исходной строки и возвращает новую строку, состоящую из результатов преобразования. В первый параметр передается функция с сигнатурой func(rune) rune, которая определяет правило преобразования для каждого символа. Во второй параметр передается исходная строка. Если функция возвращает отрицательное значение, то соответствующий символ удаляется из результирующей строки. Если функция возвращает переданный символ без изменений, то символ остается в строке.

Синтаксис

strings.Map(mapping func(rune) rune, s string) string

Пример ⁅n="sect"⁆

Давайте преобразуем все символы строки "abcde" в верхний регистр с помощью unicode.ToUpper:

package main import ( "fmt" "strings" "unicode" ) func main() { res := strings.Map(unicode.ToUpper, "abcde") fmt.Println(res) }

Результат выполнения кода:

"ABCDE"

Пример ⁅n="sect"⁆

Давайте удалим все символы не являющиеся буквами из строки "a1b2c3d4e5". Для проверки символа используем функцию unicode.IsLetter:

package main import ( "fmt" "strings" "unicode" ) func main() { // Если символ не буква, возвращаем -1 для удаления res := strings.Map(func(r rune) rune { if unicode.IsLetter(r) { return r } return -1 }, "a1b2c3d4e5") fmt.Println(res) }

Результат выполнения кода:

"abcde"

Пример ⁅n="sect"⁆

Давайте заменим каждый символ на следующий в алфавите для строки "abcde":

package main import ( "fmt" "strings" ) func main() { res := strings.Map(func(r rune) rune { // Следующий символ в алфавите return r + 1 }, "abcde") fmt.Println(res) }

Результат выполнения кода:

"bcdef"

Смотрите также

  • функцию strings.ToUpper,
    которая преобразует все символы строки в верхний регистр
  • функцию strings.ToLower,
    которая преобразует все символы строки в нижний регистр
  • функцию strings.ToTitle,
    которая преобразует все символы в регистр заголовков
  • функцию strings.ReplaceAll,
    которая заменяет все вхождения подстроки на другую строку
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить