从·形参·理解ownership

一 Each value in Rust has a variable that’s called its owner. There can only be one owner at a time. When the owner goes out of scope, the value will be dropped. 传值传址,rust函数中我觉得可以都看成值传递。 对于基础类型,很明显是直接复制,值传递。 对于堆区类型,传递的是‘堆中数据的指针’这种类似的东西,但是rust中一个值同时只能由一个(指针)(变量编译后会替换成指针)指向,当有新的指针指向

RUST中Read trait在文件流和网络流中对read方法不同的implement

1. buf远大于内容 use std::fs::File; use std::io::Read; fn main(){ //abcd1234 let mut f = File::open("/home/tyrell/A-backgulf/test"); match f { Ok(mut file)=>{ println!("打开文件成功"); let mut buf = [0u8;80]; let i = file.read(&mut bu

rust进阶指南

一 官网 https://www.rust-lang.org 了解rust是什么,为何要走进这门语言 二 The Book https://doc.rust-lang.org/book/ 了解基本语法,走进rust的内存管理(所属权)、声明周期 二.一 The Reference https://doc.rust-lang.org/reference/index.html 配合the book更加熟悉基本语法 三 The Rust Standard Library https://doc.rust-lang.org/std/index.html 学会看、

rust数据结构之rust实现单链表

一 fn main(){ let mut list:List<String> = List::new(); list.push(String::from("fuck")); list.push(String::from("fuck1")); list.push(String::from("fuck2")); let a = list.pop(); println!("after pop,length is:{}",list.length); println!("{}",a); let a

Rust and WebAssembly

https://rustwasm.github.io/docs/book/ 1. 先看4.1章 装好环境 wasm-pack和cargo-generate,npm可选(因为后面打包出的wasm文件直接在html中调用) 2. 初始化项目 cargo generate --git https://github.com/rustwasm/wasm-pack-template 3. 编译 wasm-pack build --target web //编译后的文件会在pkg目录下 4. html中调用 <!DOCTYPE html> <html> <he

两个8位数字合成一个16位数字

1. 一个i32 拆成两个 i16 let i = 12345678_i32; //右移16位 取16位 let o1 = (i>>16) as i16; // 高位 //取16低位 let o2 = i as i16; //低16位 as默认取低位,高位不够补0 println!("{} {}",o1,o2); 2. 两个 i16 合成一个 i32 //16高位转32位 再左移16位低位补0, //16低位转32位高位补0 //两个32位 异或 let i2 = (o

文件CRUD

请输入...啊

文件读写

请输入... 啊