Функция utf8.ValidRune
Функция utf8.ValidRune проверяет,
является ли переданная руна допустимой в кодировке UTF-8.
Она возвращает true, если руна допустима,
и false в противном случае.
В единственный параметр функция принимает значение типа rune,
которое нужно проверить на валидность.
Функция считает недопустимыми руны, которые не являются
корректными кодовыми точками Unicode, в частности,
руну utf8.RuneError (которая равна 0xFFFD),
а также значения, выходящие за пределы допустимого диапазона.
Синтаксис
utf8.ValidRune(r)
Пример
Давайте проверим, является ли допустимой руна 'A':
package main
import (
"fmt"
"unicode/utf8"
)
func main() {
res := utf8.ValidRune('A')
fmt.Println(res)
}
Результат выполнения кода:
true
Пример
Давайте проверим, является ли допустимой руна '世' (китайский иероглиф):
package main
import (
"fmt"
"unicode/utf8"
)
func main() {
res := utf8.ValidRune('世')
fmt.Println(res)
}
Результат выполнения кода:
true
Пример
Теперь проверим недопустимую руну utf8.RuneError:
package main
import (
"fmt"
"unicode/utf8"
)
func main() {
res := utf8.ValidRune(utf8.RuneError)
fmt.Println(res)
}
Результат выполнения кода:
false
Пример
Проверим руну с недопустимым значением -1:
package main
import (
"fmt"
"unicode/utf8"
)
func main() {
res := utf8.ValidRune(-1)
fmt.Println(res)
}
Результат выполнения кода:
false
Смотрите также
-
функцию
utf8.ValidString,
которая проверяет валидность всей строки в UTF-8 -
функцию
utf8.Valid,
которая проверяет валидность среза байтов -
функцию
utf8.RuneCountInString,
которая подсчитывает количество рун в строке -
функцию
unicode.IsLetter,
которая проверяет, является ли руна буквой