2

POSIX 函数计算在终端上打印时wcwidth()给定的宽度。wchar_t例如,wcwidth(L'A')returns 1wcwidth(L'字')returns2等。还有一个函数wcswidth()可以计算整个字符串的宽度——如果存在组合重音符号,这很有用。

Go 标准库或补充库中是否存在类似的功能?如果没有,是否有一种简单的方法可以制作出足够相似的东西?

4

1 回答 1

7

Go 标准库或补充库中是否存在类似的功能?

我相信最流行的库是go-runewidth

例子:

package main

import (
  "github.com/mattn/go-runewidth"
)

func main() {
  println(runewidth.StringWidth("A"))   // prints 1
  println(runewidth.StringWidth("字"))  // prints 2
}
于 2015-01-01T13:25:54.877 回答