在官网下载rustup-init.exe,直接安装即可。安装成功后,应该可以执行的程序有cargo(项目管理器),rustc(编译器)
// 来自官网,执行完成之后重启Terminal curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Cargo是Rust的项目管理器
# 创建新项目 cargo new project_name # 在一个项目内部 cargo build cargo run
一份代码学会Rust
// 一份代码学会Rust // 这是Rust的单行注释 /* 这是Rust的多行注释 */ fn main() { print!("Hi, "); // 不会换行 println!("Hello"); // 会换行 adv_print(); basic_data(); basic_control(); } // Rust在语言层面上,建议使用adv_print这样的函数名,而不是advPrint // 一些高级的输出方式 fn adv_print() { println!("{0} + {0} = {1}, {{ Inside }}", 1, basic_function(1,1)); } // 函数的参数和返回值 fn basic_function(x: i32, y: i32) -> i32 { return x + y; } // 数据类型相关 fn basic_data() { let id = 100; let mut value = 3.14; } // 分支循环 fn basic_control() { // 分支 // 只是没有小括号而已 if basic_function(10,5) > 12 { println!("basic_function(10,5) > 12"); } else if basic_function(10,10) < 18 { println!("basic_function(10,10) < 18"); } else { println!("else"); } // while循环 let mut index = 1; while index <= 5 { print!("{}, ", index); index += 1; // +=运算符 } // 数值范围的for循环,范围是[1,5) for i in 1..5 { print!("{}, ", i*i); if i == 4 { println!(""); } // 不能有单条语句,必须加{} // 错误,非loop循环并不能使用break返回值 // if i == 3 { break 1; } } index = 1; // mut可以直接重新赋值 // loop循环 // 无限循环,或者用于迭代查找值 let res = loop { if index * index > 250 { break index; // break可以返回一个值 } index += 1; }; // 本质还是一个赋值语句,需要分号 println!("Res = {}", res); }