Функция bytes.ToUpper

Функция bytes.ToUpper преобразует все символы строки в верхний регистр. Она принимает в качестве аргумента срез байт (тип []byte) и возвращает новый срез байт, где все буквенные символы заменены на соответствующие заглавные. Исходная строка при этом не изменяется, так как функция возвращает новую копию.

Синтаксис

gobytes.ToUpper(s)

Где s — срез байт (строка), который необходимо преобразовать в верхний регистр.

Пример

Давайте преобразуем строку 'hello world' в верхний регистр:

gopackage main

import (
  "bytes"
  "fmt"
)

func main() {
  str := []byte("hello world")
  res := bytes.ToUpper(str)
  fmt.Println(string(res))
}

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

go"HELLO WORLD"

Пример

Функция bytes.ToUpper не изменяет исходный срез байт. Давайте проверим это на примере:

gopackage main

import (
  "bytes"
  "fmt"
)

func main() {
  original := []byte("golang")
  res := bytes.ToUpper(original)

  fmt.Println(string(original))
  fmt.Println(string(res))
}

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

go"golang"
"GOLANG"

Как видно из примера, исходная строка осталась в нижнем регистре, а новая строка была преобразована в верхний регистр.

Пример

Если строка уже содержит заглавные буквы или небуквенные символы, то функция обработает только те символы, которые можно преобразовать:

gopackage main

import (
  "bytes"
  "fmt"
)

func main() {
  str := []byte("GoLang 123! @#")
  res := bytes.ToUpper(str)
  fmt.Println(string(res))
}

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

go"GOLANG 123! @#"

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

  • функцию bytes.ToLower,
    которая преобразует строку в нижний регистр
  • функцию strings.ToUpper,
    которая выполняет аналогичное преобразование для типа string
  • функцию unicode.ToUpper,
    которая преобразует отдельный символ в верхний регистр
  • функцию bytes.EqualFold,
    которая сравнивает строки без учета регистра