相关疑难解决方法(0)

为什么不鼓励接受对String(&String),Vec(&Vec)或Box(&Box)的引用作为函数参数?

我写了一些Rust代码&String作为参数:

fn awesome_greeting(name: &String) {
    println!("Wow, you are awesome, {}!", name);
}
Run Code Online (Sandbox Code Playgroud)

我还编写了代码来引用a VecBox:

fn total_price(prices: &Vec<i32>) -> i32 {
    prices.iter().sum()
}

fn is_even(value: &Box<i32>) -> bool {
    **value % 2 == 0
}
Run Code Online (Sandbox Code Playgroud)

但是,我收到一些反馈意见,这样做并不是一个好主意.为什么不?

string reference rust borrowing

100
推荐指数
2
解决办法
5549
查看次数

如何在&[u8]切片中找到子序列?

&[u8]在二进制缓冲区上有一个切片.我需要解析它,但是我想要使用的很多方法(例如str::find)在切片上似乎不可用.

我已经看到我可以通过使用缓冲切片和我的模式来转换它str,from_utf8_unchecked()但这似乎有点危险(而且也非常hacky).

如何在此切片中找到子序列?我实际上需要模式的索引,而不仅仅是部件的切片视图,所以我认为split不会起作用.

rust

21
推荐指数
2
解决办法
2908
查看次数

标签 统计

rust ×2

borrowing ×1

reference ×1

string ×1