Функция unicode.IsNumber

Функция unicode.IsNumber определяет, является ли переданная руна числовым символом согласно стандарту Unicode. Она возвращает true, если руна относится к категории числовых символов, и false в противном случае. Функция принимает один параметр — руну типа rune, которую необходимо проверить.

Синтаксис

gounicode.IsNumber(r rune) bool

Пример

Давайте проверим, является ли символ '5' числом:

gopackage main

import (
  "fmt"
  "unicode"
)

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

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

gotrue

Пример

Проверим символ 'Ⅵ' (римская шестерка). Он также считается числовым в Unicode:

gopackage main

import (
  "fmt"
  "unicode"
)

func main() {
  r := 'Ⅵ'
  res := unicode.IsNumber(r)
  fmt.Println(res)
}

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

gotrue

Пример

Теперь проверим букву 'A'. Она не является числовым символом:

gopackage main

import (
  "fmt"
  "unicode"
)

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

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

gofalse

Пример

Проверим строку на наличие числовых символов. Для этого переберем все руны строки "a1b2c3":

gopackage main

import (
  "fmt"
  "unicode"
)

func main() {
  str := "a1b2c3"
  for _, r := range str {
    if unicode.IsNumber(r) {
      fmt.Printf("%c is number\n", r)
    }
  }
}

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

go"1 is number"
"2 is number"
"3 is number"

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

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