1
for pos, char := range s {
        fmt.Println( utf8.RuneLen(char) )
}

此代码适用于 Go(pre v1),但不适用于 Go1。

不能在函数参数中使用 char (type []int) 作为 rune 类型

我运行 go fix 将“utf8”导入更新为“unicode/utf8”,但现在我得到了以前的错误。

rune的文档提到一个简单的转换将解决这个错误。

4

1 回答 1

4

您发布的代码适用于 Go1。假设s是一个字符串。

确保您没有意外引入或使用其他名为chartype的变量[]int,并确保您的代码中没有会导致意外使用不同变量的拼写错误。

于 2012-04-13T16:13:27.353 回答