Функция unicode.IsPrint

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

Печатными считаются все символы, которые могут быть отображены на экране, включая буквы, цифры, знаки пунктуации, пробелы и большинство символов Unicode. К непонятным символам относятся управляющие коды, нестандартные пробелы и некоторые специальные символы, которые не имеют графического представления.

Синтаксис

gounicode.IsPrint(r)

Пример

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

gopackage main

import (
  "fmt"
  "unicode"
)

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

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

gotrue

Пример

Давайте проверим, является ли управляющий символ '\n' печатным:

gopackage main

import (
  "fmt"
  "unicode"
)

func main() {
  res := unicode.IsPrint('\n')
  fmt.Println(res)
}

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

gofalse

Пример

Давайте проверим несколько символов из разных категорий Unicode:

gopackage main

import (
  "fmt"
  "unicode"
)

func main() {
  chars := []rune{'A', '1', ' ', '\t', '©', '你', '\x00'}

  for _, char := range chars {
    res := unicode.IsPrint(char)
    fmt.Printf("'%c' is printable: %t\n", char, res)
  }
}

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

go'A' is printable: true
'1' is printable: true
' ' is printable: true
'\t' is printable: false
'©' is printable: true
'你' is printable: true
'\x00' is printable: false

Пример

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

gopackage main

import (
  "fmt"
  "unicode"
)

func main() {
  str := "Hello\n\tWorld!"
  var res []rune

  for _, char := range str {
    if unicode.IsPrint(char) {
      res = append(res, char)
    }
  }

  fmt.Println(string(res))
}

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

go"HelloWorld!"

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

  • функцию unicode.IsGraphic,
    которая проверяет, является ли символ графическим
  • функцию unicode.IsControl,
    которая проверяет, является ли символ управляющим
  • функцию unicode.IsSpace,
    которая проверяет, является ли символ пробельным
  • функцию unicode.IsLetter,
    которая проверяет, является ли символ буквой