Rust权威指南 全书笔记
安装
- curl https://sh.rustup.rs -sSf | sh
- source $HOME/.cargo/env
- 更新 rustup update
- 卸载 rustup self uninstall
- 文档 rustdoc
- hello world
# rust.rs
fn main() {println!("Hello, world!");
}
rustc main.rs
./main
intro
- cargo 项目管理工具
- 创建新项目
cargo new hello_cargo
- 编译代码 生成debug
cargo build
- release模式生成代码 以更长的编译时间为代价来优化代码,从而使代码拥有更好的运行时性能
cargo build --release
cargo run
- 检查代码,不编译,速度快
cargo check
- 格式化代码
cargo-fmt --all
- 文档查看
cargo doc --open
第二章 猜谜游戏
use rand::Rng;
use std::cmp::Ordering;
use std::io;
fn main() {println!("Guess the number!");let secret_number = rand::thread_rng().gen_range(1, 101);// println!("The secret number is:{}", secret_number);loop {println!("Please input your guess.");let mut guess = String::new();io::stdin().read_line(&mut guess).expect("Failed to read line");let guess: u32 = match guess.trim().parse() {Ok(num) => num,Err(k) => {println!("err: {}", k);continue;}};println!("You guessed: {}", guess);match guess.cmp(&secret_number) {Ordering::Less => println!("Too small"),Ordering::Greater => println!("Too big!"),Ordering::Equal => {println!("Your win!");break;}}}
}
第三章 通用编程概念
- 变量,默认是不可变的。当一个变量是不可变的是,这个值就不能再改变了。使用mut使变量可变。
- 常量 const ABC :u32 = 100;
- 隐藏(shadow):新声明变量可以覆盖旧的同名变量。可以使用let关键字并配以相同的名称来不断地隐藏变量。
- 通过使用let,可以进行一系列的变换操作,并允许这个操作在完成后保持自己的不变性
- 由于重复使用let关键字会创建出新的变量,所以我们可以复用变量名称的同时改变它的类型。
- 数据类型:
- 标量类型 scalar:单个值类型的统称
- 整数 i8 i16 i32 i64 isize u8 u16 u32 u64 usize。isize usize长度取决于程序运行的平台。
67u8 一个u8类型的整数67 98_222 十进制 0xff 十六进制 0o77 八进制 0b1111_0000 二进制 b'A' 字符
- 浮点数 f64 f32
- 布尔值 true false
- 字符 char:Unicode变量值,占4个字节 ‘
Rust权威指南 全书笔记相关推荐
- 《JavaScript权威指南》笔记(一)
2019独角兽企业重金招聘Python工程师标准>>> <JavaScript权威指南>真是名符其实的好书!真遗憾初学JavaScript时没有立即读这本书,甚为遗憾.不 ...
- JavaScript 权威指南-学习笔记(一)
本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! JavaScript 权威指南-学习笔记 ...
- mysql数据库权威指南_MySQL_MySQL权威指南读书笔记(三),第二章:MYSQL数据库里面的数 - phpStudy...
MySQL权威指南读书笔记(三) 第二章:MYSQL数据库里面的数据 用想用好MYSQL,就必须透彻理解MYSQL是如何看待和处理数据的.本章主要讨论了两个问题:一是SQL所能处理的数据值的类型:二是 ...
- 《JavaScript权威指南》笔记(四)
2019独角兽企业重金招聘Python工程师标准>>> 第四篇笔记的内容主要涉及:javascript中的各种语句. 1. switch语句: (1)其中的case表达式采用===匹 ...
- 《Netty权威指南》笔记 —— 第二十、二十一、二十二, 二十三章
<Netty权威指南>笔记--Netty高级特性 第20章 Netty架构剖析 Reactor通信调度层 职责链 ChannelPipeline 业务逻辑编排层 关键架构质量属性 高性能 ...
- MongoDB权威指南读书笔记——CRUD
插入并保存文档 插入是向MongoDB中添加数据的基本方法.可以使用Insert方法向目标集合插入一个文档:db.foo.insert({"bar" : "baz&quo ...
- HTTP权威指南读书笔记
<<HTTP权威指南>>读书笔记 第一部分:Web的基础 第1章:HTTP概述 主要内容 1.什么是HTTP 2.HTTP的基本组件 HTTP HTTP:HTTP(Hypert ...
- HTML5权威指南----读书笔记
<!DOCTYPE html> <html> <head><meta name = 'keywords' content="HTML5权威指南--- ...
- Hadoop权威指南学习笔记三
HDFS简单介绍 声明:本文是本人基于Hadoop权威指南学习的一些个人理解和笔记,仅供学习參考.有什么不到之处还望指出,一起学习一起进步. 转载请注明:http://blog.csdn.net/my ...
最新文章
- k3s 进入 CNCF 沙箱,首个进入 CNCF 的 k8s 发行版
- 实验7.3 字符串 7-7 输出大写英文字母
- Unix 网络编程(四)- 典型TCP客服服务器程序开发实例及基本套接字API介绍
- StringBuffer与StringBuilder
- day36-表关系(外键)
- 浅析移动互联浪潮之由来
- vtk学习教程(一)
- python可视化数据分析交互作用_R数据分析:双分类变量的交互作用作图
- 金蝶软件核算项目的介绍及使用
- tkinter如何绑定鼠标和键盘等事件
- Excel将多行相同数据合并成一行并居中显示
- AutoJs实战教程---刷宝短视频
- HTML5-CSS3-JavaScript(1)
- 浏览器兼容问题,一直是自己最头疼,一直回避的问题,今天看得到了一些启发,发奋今天开始研究这个,哈哈,以下为转载文章,好好学习。...
- uboot什么意思(uboot fastboot)
- 看完面经,他拿出一打大厂offer玩起了斗地主,人生不过是如此枯燥乏味....
- RSA加密解密算法工具_JAVA
- Web前端开发要学多久?需要学些什么?
- cegui + directX9
- Linux运维面试题及答案解析(9)
热门文章
- 《JavaScript权威指南》笔记(一)
- 标量类型 scalar:单个值类型的统称