为什么str不实现ImmutableVector特性?

时间:2014-02-27 14:24:31

标签: rust

我认为这是合乎逻辑的(str毕竟是u8的向量),并且能够使用ImmutableVector中定义的函数。有人有解释吗?

1 个答案:

答案 0 :(得分:4)

我将在这里粘贴一个我在Rust的subreddit中得到的答案erickt,希望它对其他人有用:

  

我们这样做的原因是因为str是一个Unicode字符串,而且是事实   底层存储是一个实现细节。有   迭代字符串中的东西的很多方法。首先,你可以   遍历字节,这是你可以通过ImmutableVector得到的。   但是这些字节与字符不对应,因为strs是   UTF8,多个字节可以组成一个字符。但后来有   更多的选择。有些语言可以感知两个角色   合并为一个,依此类推。国际化很复杂。一世   建议查看这个更详细的链接   关于这个话题。