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

相关推荐
理想三旬11 分钟前
数据定义:模式、表、索引
数据库
c***871916 分钟前
讲解进阶之路:模块、包和异常处理-上篇
数据库·redis·哈希算法
0思必得030 分钟前
[Web自动化] 开发者工具性能(Performance)面板
运维·前端·自动化·web自动化·开发者工具
!chen32 分钟前
Oracle分区表+本地索引 核心优化方案
数据库·oracle
心灵的制造商35 分钟前
el-tree左侧新增类别和删除类别实例代码
前端·javascript·vue.js
叽里咕噜怪35 分钟前
MySQL-读写分离实验
数据库·mysql
冴羽37 分钟前
不知道怎么写 Nano Banana Pro 提示词?分享你一个结构化示例,复刻任意图片
前端·人工智能·aigc
生产队队长37 分钟前
Database:PLSQL中文乱码(查询显示问号???、表注释显示问号???)
数据库
IT_陈寒38 分钟前
JavaScript 性能优化:7个 V8 引擎隐藏技巧让你的代码提速200%
前端·人工智能·后端
脾气有点小暴44 分钟前
uniapp通用单张图片上传组件
前端·javascript·vue.js·uni-app·uniapp