POSIX 函数计算在终端上打印时wcwidth()
给定的宽度。wchar_t
例如,wcwidth(L'A')
returns 1
、wcwidth(L'字')
returns2
等。还有一个函数wcswidth()
可以计算整个字符串的宽度——如果存在组合重音符号,这很有用。
Go 标准库或补充库中是否存在类似的功能?如果没有,是否有一种简单的方法可以制作出足够相似的东西?
Go 标准库或补充库中是否存在类似的功能?
我相信最流行的库是go-runewidth。
例子:
package main
import (
"github.com/mattn/go-runewidth"
)
func main() {
println(runewidth.StringWidth("A")) // prints 1
println(runewidth.StringWidth("字")) // prints 2
}