POSIX函数wcwidth()
在终端上打印时计算给定wchar_t
的宽度。例如,wcwidth(L'A')
返回1
,wcwidth(L'字')
返回2
等。还有一个函数wcswidth()
计算整个字符串的宽度 - 这是如果存在组合重音,则非常有用。
Go标准库或补充库中是否存在类似的功能?如果没有,是否有一种简单的方法可以使某些东西足够相似?
答案 0 :(得分:6)
Go标准库或补充库中是否存在类似的功能?
我认为最受欢迎的图书馆是go-runewidth。
示例:
package main
import (
"github.com/mattn/go-runewidth"
)
func main() {
println(runewidth.StringWidth("A")) // prints 1
println(runewidth.StringWidth("字")) // prints 2
}