根据我的理解,V 中的一个字符串环绕着一个编码为 UTF-8 的字节数组。这样,遍历所有字符串元素将返回字节:
fn main() {
s := 'a string with äöü (umlauts)'
println(s)
for i := 0; i < s.len; i++ {
print('-')
}
println('')
}
导致(注意较长的下划线):
a string with äöü (umlauts)
------------------------------
如何获取字符串的字符/ rune 长度?如何遍历所有字符/ rune 而不是字节?
最佳答案
看起来需要使用 encoding.utf8
模块:
import encoding.utf8
fn main() {
s := 'a string with äöü (umlauts)'
println(s)
for i := 0; i < utf8.len(s); i++ {
print('-')
}
println('')
}
关于vlang - V : iterate the characters (runes) of a string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63764474/