Go 中是否有等同于 wcwidth() 函数的函数?

Is there an equivalent to the wcwidth() function in Go?

POSIX 函数 wcwidth() 计算给定 wchar_t 在终端上打印时的宽度。例如,wcwidth(L'A') returns 1, wcwidth(L'字') returns 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
}