Rust学习第一天
Rust学习第一天
1、cargo的简单使用
rust语言使用cargo进行创建,下载Rust官方工具后,我使用的是window.x86环境进行编译,需要配置MSVC,详情参考https://www.rust-lang.org/zh-CN/tools/install。
GUI工具使用的是JetBrains旗下的RustRover,详情参考https://www.jetbrains.com/rust/nextversion/。
创建新项目
1 | cargo new Projectname |
构建项目
1 | cargo build |
运行项目
1 | cargo run |
!!需要注意,rust的项目名称必须符合蛇形命名法,否则在项目构建和项目运行的时候会出现
1 | warning: crate `helloWorld` should have a snake case name | = note: `#[warn(non_snake_case)]` on by default = help: convert the identifier to snake case: `hello_world |
这里一开始使用的项目构建名称为helloWorld为驼峰命名法,不符合Rust的命名规范,改为hello_world之后不在警告。
创建成功之后代码初试内容为:
1 | fn main(){ |
运行之后结果为
1 | Hello, world! |
第一个Rust程序就运行成功了!
2、创建变量
1 | let a = 6;//a变量是不可变的 |
Rust中变量默认都是不可变的(没错是变量,不是常量),如果要改变为可变,则需要使用mut关键字来修饰变量。
1 | let mut b = 6;//b变量是可变的 |
举个例子
1 | let a = 6; |
打印的结果为
1 | a=12 |
但是如果我们把a定义为常量
1 | const a = 6; |
这样就是非法的了,将报错无法编译
rust变量的值可以”重新绑定”,但在”重新绑定”以前不能私自被改变,这样可以确保在每一次”绑定”之后的区域里编译器可以充分的推理程序逻辑。
重影(Shadowing)
重影就是上述的”重新绑定”,就是指变量的名称可以被重新使用的机制:
1 | fn main() { |
运行结果为:
1 | The value of x is: 12 |
重影与可变变量的赋值不是一个概念,重影是指用同一个名字重新代表另一个变量实体,其类型、可变属性和值都可以变化。但可变变量赋值仅能发生值的变化。
例如:
1 | let mut s = "123"; |
这段代码对先是声明s为一个整数型可变变量,但对s进行string类型赋值同时进行隐式转换则会报错。
1 | let mut s = "123"; |
这段代码则不会报错
参考文章链接:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 须臾的博客!