我本人主要是做java的, java极度完善的生态, 使得我认为, 在业务开发领域, 别的语言很难挑战java的地位.
但是java作为一门高级语言, 它太高了, 在偏底层的领域是比较弱势的.
偏底层的领域一般都是C语言, C语言也是和操作系统以及硬件结合得最为紧密的语言, 我从未想到过, 会出现这么一门语言, 具备挑战C语言的巨大潜力, 这门语言就是RUST.
RUST官网地址: https://www.rust-lang.org/
官网描述: A language empowering everyone to build reliable and efficient software
RUST是一门专注于安全和效率的语言
.
RUST的特点有2个:
- 安全–主要是指内存安全
- 高效–指的是运行快, 比肩C, 开发并不一定高效~~
个人感受开发的特点:
编译器教你写代码, 编译速度感人
RUSTUP下载地址:https://www.rust-lang.org/zh-CN/learn/get-started
RUSTUP的安装依赖于MSVC(推荐用这个)或者MINGW, 因此, 如果没有安装MSVC则下载安装下,
如果你常玩3A游戏大作, 那么你很有可能已经安装过了~~.
具体步骤如下:
1.先安装MSVC
MSVC下载路径如下图所示:
2.再运行RUSPUP, 来到下面的页面, 输入1, 回车
3.安装后, 命令行, rustc –V, 可以看到安装成功了
RUST的第三方包默认是从https://crates.io/下载的, 国内速度很慢, 因此要换源.
配置如下:
# 放到 `$HOME/.cargo/config` 文件中,windows系统中的$HOME就是"我的文档"
[source.crates-io]
#registry = "https://github.com/rust-lang/crates.io-index"
# 替换成你偏好的镜像源
replace-with = 'ustc'
# 中国科学技术大学
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"
#git不通,可以改用http
#registry = "https://mirrors.ustc.edu.cn/crates.io-index"
# rustcc社区
[source.rustcc]
registry = "git://crates.rustcc.cn/crates.io-index"
选择Binary(application), 它会默认生成main.rs (main.rs是binary crate, 后面会介绍)
如果选了Library, 它会默认生成lib.rs (lib.rs是liberary crate)
然后下一步下一步地搞, 此处项目命名为"hello"
上面的lib.rs是我为了解释方便手动加的, 其他都是自动生成的.
RUST使用Cargo来构建系统和包管理
- package(包)
记录在Cargo.toml中, 1个package可以包含多个crate, 模块打包的包- crate(箱)
main.rs—binary crate, 一个package下可以有多个binary crate (二进制箱), 但是只有一个main.rs, 因为main.rs是程序的执行入口
lib.rs—library crate (库箱), 可以没有, 一个package下最多只有一个lib.rs. 一般来说, 会把核心代码统一收口在lib.rs中, 由main.rs调用lib.rs来执行
cargo run
先编译为”包名.exe”, 然后再执行
main.rs第一行, “use hello::Order”, “hello"代表了包名, Order代表了结构体名.
即main.rs中引用lib.rs的方式,是使用包名"hello”, 此处引入了lib.rs中的结构体Order
RUST可以对注释自动生成文档, 标准库的源码点开来就能看到注释格式了, 因此就直接贴图了
cargo doc --open
生成并打开文档
本章先认识下RUST, 后面介绍RUST的安全, 并在过程中带上数据类型等介绍
下一章: RUST的安全