rust读书笔记基础1

40次阅读

共计 1079 个字符,预计需要花费 3 分钟才能阅读完成。

rust 名词和 cargo

rust 中的名词

代码包:crates
原始标识符:没理解

rust 中宏和函数的区别?
rust 的宏和函数调用时候形式的区别,宏带!而函数调用不带;

rust 中的 cargo

cargo new 项目名:创建新的项目,项目名成小写下划线链接
cargo build:构建项目,生成编译后的可执行文件,用于开发
cargo run:编译和运行项目
cargo check:确保项目可以编译
cargo build –release:优化编译项目,用于测试

rust 中的基础知识
变量

Rust 代码中的函数和变量名使用 snake case 规范风格。
变量默认不可变
在变量前加上 mut 标识,标识可变变量
变量和常量的区别,变量使用 let 修饰,常量使用 const,并且不能使用 mut 修饰,常量不能是运行时计算出来的值

隐藏:隐藏是多次使用 let 修饰同一个名字的变量,后面的变量会覆盖之前的变量;隐藏可以改变之前变量的类型,mut 则不可以。(关注一下垃圾回收对覆盖的处理)

基本类型

整型标量

长度
有符号
无符号

8-bit
i8
u8

16-bit
i16
u16

32-bit
i32
u32

64-bit
i64
u64

arch
isize
usize

其他标量

长度
类型
描述

32-bit
f32
单精度浮点型

64-bit
f64
双精度浮点型

32-bit
char
字符型

8-bit
bool
布尔型

复合类型

元组:类型可以不同,解构访问或者点访问
数组:类型相, 长度固定,栈上分配

函数

函数定义
//fn+ 函数名 +(参数)+ -> + 返回值类型 + {函数体}
fn function_name (parameters) -> type_of_return {
body;
}
函数签名中,必须声明每个参数的类型;返回值可以有多个,使用元组;
函数调用
// 函数名 +()
function_name ();

控制流
if 和其他的语言类似
循环:
loop + break
fn main() {
let mut counter = 0;

let result = loop {
counter += 1;

if counter == 10 {
break counter * 2;
}
};

assert_eq!(result, 20);
}
for
fn main() {
let a = [10, 20, 30, 40, 50];

for element in a.iter() {
println!(“the value is: {}”, element);
}
}
while
fn main() {
let a = [10, 20, 30, 40, 50];
let mut index = 0;

while index < 5 {
println!(“the value is: {}”, a[index]);

index = index + 1;
}
}

正文完
 0