在下面的代码中,我逐符文迭代string
符文,但实际上我需要int
来执行一些校验和计算.我真的需要把rune
编码成[]byte
,然后把它转换成string
,然后用Atoi
从rune
中得到int
吗?这是惯用的方法吗?
// The string `s` only contains digits.
var factor int
for i, c := range s[:12] {
if i % 2 == 0 {
factor = 1
} else {
factor = 3
}
buf := make([]byte, 1)
_ = utf8.EncodeRune(buf, c)
value, _ := strconv.Atoi(string(buf))
sum += value * factor
}