Освоение искусства написания строк в верхнем регистре в Go: руководство для начинающих

В мире программирования Go манипулирование строками — фундаментальный навык, которым должен овладеть каждый разработчик. Одной из распространенных задач является преобразование строки в верхний регистр. В этой статье блога мы рассмотрим различные методы достижения этой цели, используя разговорный язык и практические примеры кода. Итак, давайте углубимся и раскроем секреты изменения регистра строк в Go!

Метод 1: использование функции strings.ToUpper
Самый простой и понятный способ преобразовать строку в верхний регистр в Go — использовать функцию strings.ToUpper. Эта функция принимает строку в качестве входных данных и возвращает новую строку, все символы которой преобразованы в верхний регистр. Вот пример:

package main
import (
    "fmt"
    "strings"
)
func main() {
    str := "hello, world!"
    upper := strings.ToUpper(str)
    fmt.Println(upper)
}

Выход:

HELLO, WORLD!

Метод 2: использование функции strings.ToUpperSpecial
Пакет stringsв Go также предоставляет вариант функции ToUpperпод названием ToUpperSpecial. Эта функция позволяет вам указать собственное сопоставление для определенных символов Юникода. Вот пример:

package main
import (
    "fmt"
    "strings"
    "unicode"
)
func main() {
    str := "golang is awesome!"
    upper := strings.ToUpperSpecial(unicode.TurkishCase, str)
    fmt.Println(upper)
}

Выход:

GOLANG IS AWESOME!

Метод 3: использование функции bytes.ToUpper
Если вы имеете дело с большой строкой и производительность вызывает беспокойство, использование функции bytes.ToUpperможет быть более эффективным. Эта функция работает непосредственно с байтовыми фрагментами, а не со строками, и изменяет исходный фрагмент на месте. Вот пример:

package main
import (
    "bytes"
    "fmt"
)
func main() {
    str := "let's go!"
    strBytes := []byte(str)
    upper := bytes.ToUpper(strBytes)
    fmt.Println(string(upper))
}

Выход:

LET'S GO!

Метод 4. Преобразование символов вручную.
В некоторых случаях может потребоваться более детальный контроль над преобразованием верхнего регистра. Чтобы добиться этого, вы можете перебирать каждый символ строки и конвертировать его вручную. Вот пример:

package main
import (
    "fmt"
    "unicode"
)
func main() {
    str := "hello, world!"
    upper := ""
    for _, char := range str {
        upper += string(unicode.ToUpper(char))
    }
    fmt.Println(upper)
}

Выход:

HELLO, WORLD!

В этой статье мы рассмотрели несколько методов преобразования строк в верхний регистр в Go. Предпочитаете ли вы простоту, настройку или производительность, есть метод, который соответствует вашим потребностям. Освоив эти методы, вы будете хорошо подготовлены к решению задач по манипулированию строками в своих проектах Go. Приятного кодирования!