在下面的代码中,我逐个遍历一个string
rune,但实际上我需要一个 runeint
来执行一些校验和计算。我是否真的需要将 a 编码rune
为 a []byte
,然后将其转换为 a string
,然后用于Atoi
从 a 中int
取出a rune
?这是惯用的方法吗?
// 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
}