Go中的wcwidth()函数是否等效?

The POSIX function wcwidth() computes the width of a given wchar_t when printed on a terminal. For instance, wcwidth(L'A') returns 1, wcwidth(L'字') returns 2, etc. There is also a function wcswidth() which computes the width of an entire string—this is useful if combining accents are present.

Does a similar function exist in the Go standard library or the supplementary libraries? If not, is there an easy way to make something sufficiently similar?

Does a similar function exist in the Go standard library or the supplementary libraries?

I believe the most popular library for this is go-runewidth.

Example:

package main

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

func main() {
  println(runewidth.StringWidth("A"))   // prints 1
  println(runewidth.StringWidth("字"))  // prints 2
}