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

Unicode Go中是否有与wcwidth()函数等效的函数?,unicode,go,terminal,rune,Unicode,Go,Terminal,Rune,POSIX函数wcwidth()。例如,wcwidth(L'A')返回1,wcwidth(L'A')字')返回2,等等。还有一个函数wcswidth(),用于计算整个字符串的宽度。如果存在组合重音,这将非常有用 Go标准库或补充库中是否存在类似的函数?如果不存在,是否有一种简单的方法使某些函数足够相似 Go标准库或补充库中是否存在类似功能 我相信这方面最受欢迎的图书馆是 例如: package main import ( "github.com/mattn/go-runewidth" )

POSIX函数
wcwidth()。例如,
wcwidth(L'A')
返回
1
wcwidth(L'A')字')
返回
2
,等等。还有一个函数
wcswidth()
,用于计算整个字符串的宽度。如果存在组合重音,这将非常有用

Go标准库或补充库中是否存在类似的函数?如果不存在,是否有一种简单的方法使某些函数足够相似

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

我相信这方面最受欢迎的图书馆是

例如:

package main

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

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

经过广泛测试后,我可以确认此库满足我的需要。谢谢!您可能还对该包感兴趣,它是的一部分。还有一个(可能)相关的Go项目。@DaveC啊!那一定是新的。也许这个包的存在是我提交的关于缺少这些函数的错误的结果?我不认为它提供了相同的功能,但是,它可能只是因为它的相关而感兴趣。@DaveC它完全像wcwidth一样,根据term上的大小对字符进行分类电子设备。