我认为这是合乎逻辑的(str
毕竟是u8
的向量),并且能够使用ImmutableVector
中定义的函数。有人有解释吗?
答案 0 :(得分:4)
我将在这里粘贴一个我在Rust的subreddit中得到的答案erickt,希望它对其他人有用:
我们这样做的原因是因为str是一个Unicode字符串,而且是事实 底层存储是一个实现细节。有 迭代字符串中的东西的很多方法。首先,你可以 遍历字节,这是你可以通过ImmutableVector得到的。 但是这些字节与字符不对应,因为strs是 UTF8,多个字节可以组成一个字符。但后来有 更多的选择。有些语言可以感知两个角色 合并为一个,依此类推。国际化很复杂。一世 建议查看这个更详细的链接 关于这个话题。