Skip to content

cangSDARM/rust-scratch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rust

Quick Look

标志符以:

  1. 字母开头,后面跟字母、数字、_、None
  2. _开头,但后面有字母、数字或_
  3. r#开头,后接 rust 关键字或字母,称为row identifier

语句和表达式

Rust 中,语句没有返回值,而表达式有,这是他俩的重要区别
且语句以分号结尾,而表达式无分号

  1. let y = 5;是一个语句
  2. fn func()是一个语句
  3. {}是一个表达式
  4. fu func() ->i32 { 10 }是有效的声明,函数 func 返回 10
  5. let y = { lex x = 3; x+1 }是有效的声明,y 的值是 x+1 即 4

Rust 中的空值

Rust 并没有空值,不过它确实拥有一个可以编码存在或不存在概念的枚举。
这个枚举是Option<T>
Option 有两个可能值,Some 和 None

let null: Option<i32> = None;
let some: Option<i32> = Some(12);

为了拥有一个可能为空的值,你必须要显式的将其放入对应类型的Option<T>中。接着,当使用这个值时,必须明确的处理值为空的情况。只要一个值不是Option<T>类型,你就可以安全的认定它的值不为空

为了避免和 None 值计算或调用,Rust 将抛出编译错误

let x: i8 = 5;
let y: Option<i8> = Some(5);
let sum = x + y;  //Error!

本质原因是:他俩类型不同

结构

更多参考

例子

About

Personal Learnning Repo

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages