POSIX 函数 wcwidth()
计算在终端上打印时给定 wchar_t
的宽度。例如,wcwidth(L'A')
返回 1
,wcwidth(L'字')
返回 2
等。还有一个函数 wcswidth()
可以计算整个字符串的宽度——如果存在组合重音符号,这将很有用。
Go 标准库或补充库中是否存在类似的功能?如果不是,是否有一种简单的方法可以使某些东西足够相似?
最佳答案
Does a similar function exist in the Go standard library or the supplementary libraries?
我相信最受欢迎的库是 go-runewidth .
例子:
package main
import (
"github.com/mattn/go-runewidth"
)
func main() {
println(runewidth.StringWidth("A")) // prints 1
println(runewidth.StringWidth("字")) // prints 2
}
关于unicode - Go 中是否有等同于 wcwidth() 函数的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27728157/