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 同时迭代 两个数组

相关推荐
李元豪2 小时前
grpo nl2sql qwen3 模型强化学习训练有效果的成立条件有哪些
数据库·oracle
10年前端老司机4 小时前
React无限级菜单:一个项目带你突破技术瓶颈
前端·javascript·react.js
Hello.Reader5 小时前
RedisJSON 路径语法深度解析与实战
数据库·redis·缓存
TDengine (老段)5 小时前
TDengine 使用最佳实践(2)
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
阿芯爱编程8 小时前
2025前端面试题
前端·面试
设计师小聂!8 小时前
Linux系统中部署Redis详解
linux·运维·数据库·redis
kfepiza8 小时前
Debian-10编译安装Mysql-5.7.44 笔记250706
linux·数据库·笔记·mysql·debian·bash
Touper.8 小时前
Redis 基础详细介绍(Redis简单介绍,命令行客户端,Redis 命令,Java客户端)
java·数据库·redis
不剪发的Tony老师8 小时前
phpMyAdmin:一款经典的MySQL在线管理工具又回来了
数据库·mysql·phpmyadmin
极限实验室8 小时前
TDBC 2025 可信数据库发展大会,极限科技邀您来赴约!
数据库