Таблица unicode.Letter

Таблица unicode.Letter представляет собой множество символов Unicode, которые относятся к категориям букв (L). Она используется в функциях пакета unicode, в частности в функции unicode.IsLetter, которая проверяет, является ли переданная руна буквой. В качестве аргумента функция принимает руну (тип rune) и возвращает true, если символ входит в таблицу unicode.Letter, и false в противном случае.

Синтаксис

gounicode.IsLetter(r rune) bool

Пример использования с буквами

Давайте проверим, является ли символ 'A' буквой:

gopackage main

import (
  "fmt"
  "unicode"
)

func main() {
  res := unicode.IsLetter('A')
  fmt.Println(res)
}

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

gotrue

Пример использования с цифрами

Теперь проверим, является ли символ '5' буквой:

gopackage main

import (
  "fmt"
  "unicode"
)

func main() {
  res := unicode.IsLetter('5')
  fmt.Println(res)
}

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

gofalse

Пример перебора строки

Переберем все символы строки и выведем только буквы:

gopackage main

import (
  "fmt"
  "unicode"
)

func main() {
  str := "Hello123 世界"
  var letters []rune
  
  for _, r := range str {
    if unicode.IsLetter(r) {
      letters = append(letters, r)
    }
  }
  
  fmt.Println(string(letters))
}

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

go"Hello世界"

Пример с таблицей напрямую

Можно использовать таблицу unicode.Letter напрямую с функцией unicode.In для проверки:

gopackage main

import (
  "fmt"
  "unicode"
)

func main() {
  res := unicode.In('Я', unicode.Letter)
  fmt.Println(res)
}

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

gotrue

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

  • функцию unicode.IsLetter,
    которая проверяет, является ли руна буквой
  • функцию unicode.IsDigit,
    которая проверяет, является ли руна цифрой
  • функцию unicode.IsNumber,
    которая проверяет, является ли руна числом
  • функцию unicode.In,
    которая проверяет принадлежность руны к таблице