Rust bin 文件比较差异

rust 复制代码
use std::collections::HashSet;
use std::fs::File;
use std::io::prelude::*;

fn main() {
    let file_1 = "test.bin";
    let file_2 = "test2.bin";
    let mut fd_1 = File::open(file_1).expect("open file_1 error");
    let mut fd_2 = File::open(file_2).expect("open file_2 error");
    let mut buffer_1: Vec<u8> = Vec::new();
    let mut buffer_2: Vec<u8> = Vec::new();
    fd_1.read_to_end(&mut buffer_1).expect("read error from test.bin");
    fd_2.read_to_end(&mut buffer_2).expect("read error from test2.bin");
    let set1: HashSet<_> = buffer_1.iter().cloned().collect();
    let set2: HashSet<_> = buffer_2.iter().cloned().collect();
    let union: HashSet<_> = set1.union(&set2).cloned().collect();
    let diff: Vec<u8> = union.into_iter().collect();
    println!("diff test.bin with test2.bin: {:?}", diff);
}

有没有 python 的味道
一样的编译器,这个味道就不一样了
还不用担心内存安全的问题
这也是为什么 rust 进入内核的原因,优秀的表达能力
平替 C
Rust 同时迭代 两个数组

相关推荐
前端卧龙人1 分钟前
前端如何最小化重绘和回流
前端
南蓝2 分钟前
【React】React 19 新特性
前端
银之夏雪2 分钟前
深入理解 GPU 渲染加速与合成层(Composite Layers)
前端·javascript·浏览器
机巧咸鱼不会受伤3 分钟前
为什么浏览器的渲染进程不适用于多个线程来处理
前端·浏览器
前端日常开发4 分钟前
轻松合并远端两个Commit,代码历史秒变整洁!
前端
Au_ust4 分钟前
React:类组件(上)
前端·javascript·react.js
前端日常开发4 分钟前
前端并发请求太多?教你几招轻松搞定!
前端
myyyl5 分钟前
Javascript中哈希表的实现
前端·算法·面试
the_flash5 分钟前
手写lodash的get函数
前端
银之夏雪6 分钟前
从底层到实践:深度解析 Vue Composition API 与 React Hooks 的异同
前端·javascript·vue.js