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

相关推荐
Martin -Tang28 分钟前
vite和webpack的区别
前端·webpack·node.js·vite
迷途小码农零零发29 分钟前
解锁微前端的优秀库
前端
PGCCC32 分钟前
【PGCCC】Postgresql 存储设计
数据库·postgresql
王解1 小时前
webpack loader全解析,从入门到精通(10)
前端·webpack·node.js
我不当帕鲁谁当帕鲁1 小时前
arcgis for js实现FeatureLayer图层弹窗展示所有field字段
前端·javascript·arcgis
那一抹阳光多灿烂2 小时前
工程化实战内功修炼测试题
前端·javascript
放逐者-保持本心,方可放逐2 小时前
微信小程序=》基础=》常见问题=》性能总结
前端·微信小程序·小程序·前端框架
PcVue China2 小时前
PcVue + SQL Grid : 释放数据的无限潜力
大数据·服务器·数据库·sql·科技·安全·oracle
魔道不误砍柴功4 小时前
简单叙述 Spring Boot 启动过程
java·数据库·spring boot
锐策4 小时前
〔 MySQL 〕数据库基础
数据库·mysql