Rust学习笔记001-初相识
Rust is a systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety.
Rust是一门系统级编程语言,具有三个特点:
- 运行快
- 防止段错误
- 保证线程安全
C和C++是业界最流行的系统编程语言,Rust的定位与之类似,但是增加了安全性。
版本和发布策略
语义化版本号
Rust编译器的版本号采用了“语义化版本号”规划。版本格式为:主版本号.次版本号.修订号。
- 主版本号:当你做了不兼容的API修改
- 次版本号:当你做了向下兼容的功能性新增
- 修订号:当你做了向下兼容的问题修正
Rust一般以6个星期更新一个正式版本的速度进行迭代。
多渠道发布:
- nightly版本:每天自动创建的版本,新功能最多,问题也多,供用户试用;
- beta版本:每隔一段时间将nightly版本验证过的功能开放给用户,类似“预发布”版本;
- stable版本:正式版本,每隔6个星期发布一次,最稳定、最可靠,保证向前兼容;
rustup镜像
把一下代码复制到.bashrc
或者类似文件(.zshrc
等)然后执行source .bashrc
或者将其添加到环境变量
|
|
cargo镜像
Rust官方提供了cargo
包管理工具,管理仓库为:https://crates.io。当我们在编译需要依赖crates.io
的项目时,可能会由于网络问题导致依赖库下载失败。可以在$HOME/.cargo/
下建立一个config
文件,加入如下配置:
|
|
如果不能使用git
的话,可以把registry
替换成:
|
|
Hello World
编程第一课必须是hello world
程序,创建hello_world.rs
写入以下代码:
|
|
然后编译运行:
|
|
嗯,第一个Rust程序已经成功运行了。😁
简单分析下:
- Rust源代码文件使用
.rs
结尾; - 注释才用
//或者/* */
风格,当然也可以使用特有的文档注释///
,后面会说; - 函数开头必须使用
fn
关键字; main
函数为程序运行入口点;- 局部变量声明使用
let
关键字开头; - 语句以分号
;
结尾; println!
是一个宏,特征就是后面带一个!
感叹号;
Prelude
-
Rust代码从逻辑上是分crate和mod管理的,crate管理项目,可以生成lib或可执行文件,在crate内部使用mod管理;
-
Rust有一个极简标准库,叫作 std,除了极少数嵌入式系统无法使用标准库,绝大部分情况下,都需要使用标准库里的东西;
-
默认情况下,用户不需要导入标准库,编译器会自动引入,系统会在每个 crate 开头自动插入一句话:
|
|
Format格式说明
|
|
除了println!
宏,Rust还提供了其他一些宏,比如format!, write!, writeln!
等,可以在std::fmt
标准库内查看。
设计标准输出宏的原因:
- 更好地错误检查,编译期内即可发现错误;
- 函数只能在运行时发现字符串格式化错误;
- 原文作者:maratrix
- 原文链接:https://maratrix.cn/post/2020/02/04/001-rust-hello-world-notes/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。