普通人学习rust——从零到放弃 安装和第一个程序
普通人学习rust——从零到放弃 安装和第一个程序
环境
本文章内容基于如下环境,如若出入请参考当前环境。
rustc 1.42.0 (b8cedc004 2020-03-09)
cargo 1.42.0 (86334295e 2020-01-31)
前言
我常常认为说“Linux系统很好用”的人有两类人,一种是大神,的确很牛B,第二种是跟风者,根本没常用过Linux。所谓要认知一件事,就要去实践它,即使可能得到不同与别人的结论。事实上,我已经学习rust一段时间了,也基本已经放弃了这门语言。对于我(普通人不是大神)来说,rust缺点就是:
- 1、难以理解的语法逻辑
- 2、怪异的语法,为了突出特点而设(很别扭)
- 3、难于控制的内存泄漏或占用,或者说是缺少优质的第三方库。
rust是我认为仅次于go,不想接触的语言。本系列文章所有内容不一定有正确性,所理解仅为个人理解,不懂之处请见谅,因为我也可能不懂,基于以上三点。
优点
说完缺点,就说为什么要选择rust
- 1、接近c/cpp的性能
- 2、内存安全性
安装
离线安装包下载地址[https://forge.rust-lang.org/infra/other-installation-methods.html],这里仅于windows安装为例,选择x86_64-pc-windows-gnu或x86_64-pc-windows-msvc其中一个下载安装,如果安装成功运行错误就选择另外一个。
运行
查看rustc版本
rustc -V
查看cargo版本
cargo -V
第一个程序
新建main.rs文件
fn main(){
println!("这是我的第一个rust程序!!😥");
}
编译
rustc main.rs
运行
main.exe
结果
这是我的第一个rust程序!!😥
fn
为function
的简写,main()
为程序入口函数。吐槽:其他关键字全写,就function要简写成fn,要么全写要么简写!这里需要注意的是println!
非println
,多了感叹号!
,后缀不带感叹号为普通函数,带感叹号的为宏函数,rust不存在println
普通函数。
错误示例
fn main(){
println("这是我的第一个rust程序!!😥");
}
编译异常
error[E0423]: expected function, found macro `println`
--> main.rs:2:5
|
2 | println("这是我的第一个rust程序!!😥");
| ^^^^^^^ help: use `!` to invoke the macro: `println!`
error: aborting due to previous error
For more information about this error, try `rustc --explain E0423`.
参考资料
这里列举一些参考网站,方便读者学习参考
- rust官网[https://www.rust-lang.org/zh-CN/]
- rust常见问题解答[https://prev.rust-lang.org/zh-CN/faq.html#strings]
- 标准库[https://doc.rust-lang.org/std/]
- rust中文文档指引[https://prev.rust-lang.org/zh-CN/documentation.html]
- 通过例子学习rust(中文版)[https://rustwiki.org/zh-CN//rust-by-example/]
- rust程序设计语言(中文版)[https://kaisery.github.io/trpl-zh-cn/]
- cargo仓库[https://crates.io/]