uniseg
Handy Go utilities
uniseg | Handy Go utilities | |
---|---|---|
6 | - | |
552 | 77 | |
- | - | |
6.5 | 0.0 | |
about 1 month ago | over 3 years ago | |
Go | Go | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
uniseg
- Should unicode/utf8 have funcs for graphemes?
-
UTF-8 strings with Go: len(s) isn't enough
So far, I've found this package for Unicode text segmentation: https://github.com/rivo/uniseg
-
Why do we get byte and rube when iterating a string using for loop or for range respectivly?
Ah this is an intreresting one. I’ve recently had to deal with graphemes and after learning a bit more about them with a coworker, was surprised to find there doesn’t seem to be native support for them in Golang. Does anyone know if support for dealing with graphemes will be added eventually? For the moment I’ve used https://github.com/rivo/uniseg
-
FYI: a single Go rune is not the same as a single visible character
Yes, what you want is called a grapheme cluster. It faithfully represents one "visible" character in your terminal. Use something like https://github.com/rivo/uniseg to turn a string into graphemes and iterate over them.
-
Strings in Go
There is an open source library github.com/rivo/uniseg that provides a function to do just this. It provides a function GraphemeClusterCount that returns the number of characters that is present in this string. Check out the source code on Github for details about the author and the implementation.
Handy Go utilities
We haven't tracked posts mentioning Handy Go utilities yet.
Tracking mentions began in Dec 2020.
What are some alternatives?
go - The Go programming language
Password validator library for Go - Flexible and customizable password validation
go-edlib - 📚 String comparison and edit distance algorithms library, featuring : Levenshtein, LCS, Hamming, Damerau levenshtein (OSA and Adjacent transpositions algorithms), Jaro-Winkler, Cosine, etc...
postcode - Small Golang package for validating postal codes
ecoji - Encodes (and decodes) data as emojis
checkdigit - Provide check digit algorithms and calculators written in Go
xid - Parse unicode identifiers
govalid - Struct validation using tags
Validate - ⚔ Go package for data validation and filtering. support Map, Struct, Form data. Go通用的数据验证与过滤库,使用简单,内置大部分常用验证、过滤器,支持自定义验证器、自定义消息、字段翻译。
govalidator - [Go] Package of validators and sanitizers for strings, numerics, slices and structs
ozzo-validation - An idiomatic Go (golang) validation package. Supports configurable and extensible validation rules (validators) using normal language constructs instead of error-prone struct tags.
terraform-validator - A norms and conventions validator for Terraform