Wer*_*rem 2 arrays iterator rust
我有这个数组
let buffer: &[u8] = &[0; 40000];
Run Code Online (Sandbox Code Playgroud)
但是当我想像这样映射它时:
*buffer.map( |x| 0xff);
Run Code Online (Sandbox Code Playgroud)
我有以下错误:
let buffer: &[u8] = &[0; 40000];
Run Code Online (Sandbox Code Playgroud)
我尝试了几种方法来使元素可变,但我无法获得正确的语法。有人有经验吗?我正在尝试使用 png 图像缓冲区。
该类型&[T]没有map方法。如果您查看错误消息,它会告诉您map存在一个名为的方法,但它不适用于&mut &[u8]或&mut [u8]因为这些类型没有实现Iterator。数组和其他集合通常有一个方法或一组方法来创建迭代器。对于切片或数组,您可以选择iter()(遍历引用)或into_iter()(遍历移动的值并使用源集合)。
通常,您还需要将值收集到其他一些集合中:
let res: Vec<u8> = buffer
.iter()
.map(|x| 0xff)
.collect();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4447 次 |
| 最近记录: |