package mylib import "golang.org/x/text/width" func GetWidthUTF8String(s string) int { size := 0 for _, runeValue := range s { p := width.LookupRune(runeValue) if p.Kind() == width.EastAsianWide { size += 2 continue } if p.Kind() == width.EastAsianNarrow { size += 1 continue } panic("cannot determine!") } return size }