Avatar ·

如何在 Rust 中通过索引获取字符串中的字符?

我刚开始学习 Rust,遇到了一个在我看来很奇怪的问题。在其他语言中,比如 Python 或 JavaScript,我可以轻松地通过索引获取字符串中的字符:`"hello"[0]` 会给我 `'h'`。但是当我尝试在 Rust 中做同样的事情时,编译器报错了。 这是我的代码: ```rust fn main() { let s = String::from("Привет, мир!"); let first = s[0]; // 错误! println!("第一个字符: {}", first); } ``` 编译器说类似这样的话:"the type `String` cannot be indexed by `{integer}`"。我理解 Rust 是一种安全的语言,但为什么不能直接通过索引获取字符呢?在其他语言中这是可行的!那么我该如何正确地从字符串中获取字符?我做错了什么? 我需要单独处理字符串中的每个字符,例如检查第一个字符是字母还是数字。请告诉我如何在 Rust 中做到这一点。 <<>>

为什么 Rust 不允许直接索引字符串?

在 R