学前
项目构建
rust
提供一个项目构建工具cargo
, 学习语言前先熟悉下这个工具。
cargo new hello_world --bin '新建项目'
cd hello_world '进入项目文件目录'
cargo run '编译运行当前项目'
语法
熟悉rust的语法结构,能达到独立观想github上其他人写的rust程序。
1.变量
使用 let
来声明变量,并且支持多个变量同时赋值。
let (x, y) = (1, 2); // 多个常量在同一行进行赋值
let x: i32 = 5; // rust的带类型常量
let mut x = 10; // 声明一个变量
fn array(){ // 数组
println!("测试数组");
let a = [0,1,2,3,4,5];
let mid = &a[1..4];
let com = &a[..];
for var in mid {
print!("{0}|", var);
}
println!("抽取部分");
for var in com {
print!("{0}|", var);
}
println!("抽取全部");
}
2.函数
fn
声明函数- 通过
->
指定返回值类型 !
声明函数决不返回值
// 参数传递
fn argmust(x: i32, name: &str) -> i32{
println!("测试参数传递");
println!("name = {0}, x = {1}", name, x);
return x + 1;
}
fn diverges() -> ! {// `!`决不返回
panic!("this is never return !");
}
3.类型、数组
booleans
布尔类型
let x = true;
let y: bool = false;
char
字节类型
let x = 'x';
let two_hearts = '��';
- Numeric types
let x = 27;// x has type i32 (int);
let y = 0.1;// x has type f64 (float);
"所有数字类型如下,i开头为signed,u开头为unsigned"
i8
i16
i32
i64
u8
u16
u32
u64
isize
usize
f32
f64
- Array 数组类型, slice抽取
fn array_test(){
println!("测试数组");
let a = [0,1,2,3,4,5];
let mid = &a[1..4];
let com = &a[..];
for var in mid {
print!("{0}|", var);
}
println!("抽取部分");
for var in com {
print!("{0}|", var);
}
println!("抽取全部");
}
- tupe 固定列表类型
let x = (1, "name");
let x: (i32, &str) = (1, "name");
println!("name = {0}", x.1);
- func 函数类型
fn var_func(){
println!("下面测试函数赋值,调用argmust函数");
let func: fn(i32, &str) -> i32 = argmust;
func(5, "var_func");
}
4.comments 块注释
在 rust 里有两种注释:
//
行注释
///
文档注释(文档注释支持markdown标签语言)
还有第三种风格
//!
这种一般用在模块文件的头部
注意注释的规范,可以方便后期生成文档。
rustdoc
生成html文档