首先,您可能需要阅读https://blog.golang.org/strings
。它将回答您的部分问题。
Go中的字符串可以包含任意字节。当您写str [i]时,结果是一个字节,索引始终是一个字节数。
大多数情况下,字符串都是用UTF-8编码的。您可以通过多种方式处理字符串中的UTF-8编码。
例如,您可以使用for … range语句来对符文对字符串符文进行迭代。
var first runefor _,c := range str { first = c break}// first now contains the first rune of the string
您还可以利用unipre / utf8软件包。例如:
r, size := utf8.DepreRuneInString(str)// r contains the first rune of the string// size is the size of the rune in bytes
如果字符串以UTF-8编码,则无法直接访问字符串的第n个符文,因为符文的大小(以字节为单位)不是恒定的。如果需要此功能,则可以轻松编写自己的帮助程序功能(使用for
… range或unipre / utf8软件包)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)