上例中,使用字符串切片,这个其实和字符串没有本质的区别,由于前者是对字符串的局部引用。
上例中,演示了企图通过索引/或者切片的方式访问多字节utf-8字符的部分数据时发生错误的情形。
这种环境下,会给出足够好友的提示! 这也是rustc的一大优点。
根据这个提示,如果把上文的代码改为:
println!("{}的第一个字符是:{}",cn,&cn[0..3]);那么照旧可以正确实行的!
需要逐个打印字符串的每个字符,可以使用以下方式:
let cn:String="中华人民共和国".to_string();println!("cn的包含了以下几个汉字:");for c in cn.chars(){ println!("{}",c);}
三、小结