var fruits = ["Banana", "Orange", "Apple", "Mango"];
var index = fruits.indexOf("Apple");
let fruits = ["Banana", "Orange", "Apple", "Mango"];
let index = fruits.???

如果没有类似功能,也许你能给我指出正确的方向?我找到了这个example,但它是矢量的,不是数组的.

推荐答案

您可以在任何迭代器上使用方法position.可以使用iter()方法获得数组的迭代器.试着这样做:

let fruits = ["Banana", "Orange", "Apple", "Mango"];
let res1 = fruits.iter().position(|&s| s == "Apple");
let res2 = fruits.iter().position(|&s| s == "Peter");

println!("{:?}", res1);    // outputs: Some(2)
println!("{:?}", res2);    // outputs: None

Rust相关问答推荐

为什么拥有的trait对象的相等运算符移动了正确的操作数?

从Rust调用C++虚拟方法即使在成功执行之后也会引发Access违规错误

Rust中的相互递归特性与默认实现

在Rust中赋值变量有运行时开销吗?

如何获取Serde struct 的默认实例

在决定使用std::Sync::Mutex还是使用Tokio::Sync::Mutex时,操作系统线程调度是考虑因素吗?

如何为rust trait边界指定多种可能性

类型批注需要静态生存期

使用Py03从Rust调用Python函数时的最佳返回类型

如何将生存期参数添加到框<>;具有dyn类型别名

`actix-web` 使用提供的 `tokio` 运行时有何用途?

这是什么:`impl Trait for T {}`?

如何在 `connect_activate()` 之外创建一个 `glib::MainContext::channel()` 并将其传入?

pyO3 和 Panics

如何在 Rust 中将 bson::Bson 转换为 Vec

如何使返回 XMLError 的方法与 anyhow::Error 兼容?

没有分号的返回表达式的性能是否比使用返回更好?在Rust ?

预期类型参数,发现不透明类型

Rust - 在线程之间不安全地共享没有互斥量的可变数据

有没有比多个 push_str() 调用更好的方法将字符串链接在一起?