Функция unicode.IsDigit

Функция unicode.IsDigit проверяет, является ли переданный символ десятичной цифрой. Она возвращает true, если символ является цифрой от 0 до 9, и false в противном случае. Функция принимает один параметр - символ типа rune, который нужно проверить.

Синтаксис

gounicode.IsDigit(r)

Пример

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

gopackage main

import (
  "fmt"
  "unicode"
)

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

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

gotrue

Пример

Давайте проверим, является ли символ 'a' десятичной цифрой:

gopackage main

import (
  "fmt"
  "unicode"
)

func main() {
  res := unicode.IsDigit('a')
  fmt.Println(res)
}

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

gofalse

Пример

Давайте проверим строку на наличие цифр и выведем все цифровые символы:

gopackage main

import (
  "fmt"
  "unicode"
)

func main() {
  str := "a1b2c3d4e5"
  digits := []rune{}

  for _, r := range str {
    if unicode.IsDigit(r) {
      digits = append(digits, r)
    }
  }

  fmt.Println(string(digits))
}

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

go"12345"

Пример

Давайте проверим строку, содержащую только цифры и буквы, и подсчитаем количество цифр:

gopackage main

import (
  "fmt"
  "unicode"
)

func main() {
  str := "abc123def456"
  count := 0

  for _, r := range str {
    if unicode.IsDigit(r) {
      count++
    }
  }

  fmt.Println(count)
}

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

go6

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

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