vlang - V:迭代字符串的字符(符文)
问题描述
据我了解,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)
------------------------------
如何以字符/符文获取字符串的长度?如何迭代所有字符/符文而不是字节?
解决方案
看起来需要使用该encoding.utf8
模块:
import encoding.utf8
fn main() {
s := 'a string with äöü (umlauts)'
println(s)
for i := 0; i < utf8.len(s); i++ {
print('-')
}
println('')
}
推荐阅读
- json - 嵌套数组上的 Laravel AssertJsonCount
- r - 如何获得数据集中转发的前 10 条推文?
- python - ValueError:ModelForm 没有指定模型类
- excel - 使用spring boot将日期从excel文件插入mysql
- docker - 将日志从某个 Docker 容器输入到 Logstash 的最简单方法是什么?
- apache-spark - 如何通过 Spark SQL 连接 BigQuery?
- typescript - 是否可以在不创建新的 observable 的情况下合并到现有的 observable?
- r - 总结 R 中的 char 列
- c - Kotlin/Native 垃圾收集器如何在 C 中工作?
- c# - 由于页面刷新,AJAX 没有得到响应