Rust学习笔记

简介: Rust学习笔记


Rust简介

Rust是一种系统编程语言。它有着惊人的运行速度,能够防止段错误,保证线程安全。也是一门静态语言和预编译语言(ahead-of-time compiled language),同时是一种注重安全、性能和并发性的编程语言。

 

创建目的:

软件的演进速度大大低于硬件的演进,软件在语言级别上无法真正利用多核计算带来的性能提升。Rust是针对多核体系提出的语言,并且吸收一些其他动态语言的重要特性,比如不需要管理内存,没有采用垃圾回收机制,比如不会出现Null指针等等。

特点:

安全,速度和并发性

适用人群:

使用C++语言的开发者,对系统编程感兴趣的人员

 

Rust安装

Rustup工具链的官方介绍

Rust 由 rustup 工具来安装和管理。它是一个管理多个 Rust 工具链的工具,从而为多个平台提供一致的 Rust 支持。 Rust 有一个 6 周的 快速发布过程 并且支持 大量的平台 ,所以任何时候都有很多 Rust 构建可用。 rustup 在 Rust 支持的每一个平台上以一致的方式管理这些构建, 并可以从 beta 和 nightly 发布渠道安装 Rust,且支持额外的交叉编译目标平台。

更多信息请查看 rustup documentation

安装rustup的方法

Unix/Linux 下:

在您的终端运行

curl https://sh.rustup.rs -sSf | sh

。它将会下载并运行 rustup-init.sh,它为您的平台下载并运行 rustup-init 可执行文件的正确版本。

image.png

 

Windows 下:

下载并运行 rustup-init.exe.

 

同时,在Windows上,Rust需要Visual C++生成工具2013或更新版本的支持。获取Visual C++生成工具最方便的方法时安装MicroSoft Visual C++ Build Tools 2017.

 

查看是否安装成功:

如果在终端中,看到如下命令,恭喜安装成功!

Rust is installed now.Great!

image.png

 

查看rustc版本,如下图

rustc --version

更新版本:

rustup update 

image.png

其他安装方法

从GitHub获取 源码安装

 

编写第一个Rust程序

1、创建一个main.rs文件

2、编写HelloWorld程序

fn main(){
    println!("Hello, World!");
}

 

image.png

3、编译并执行

rustc main.rs
./main    // 或者在Windows下执行  main.exe


image.png

image.png

 

熟悉C或者C++语言的读者,会发现这个过程与gcc 和 clang 类似。当在终端看到 Hello,World!表示第一个Rust程序运行成功,恭喜入坑!!!

卸载Rust和Rustup

rustup self uninstall

在终端输入上面命令,即可。

helpful compiler友好的编译器:

     println!是一个宏,类似Pyhton3中的print()

                  assert_eq! 也是十分有用宏macro

// macro.rs
fn main(){
    let answer = 42;
    assert_eq!(answer,42);
}

Atom

tokamak

tokamak 是一个使 atom 摇身一变为 rust IDE 的 atom 插件. 安装后 atom 即具有语法高亮, 代码补全与 Lint 等功能, 而且还有个不错的界面, 看起来确实像个 IDE. 你可以在 atom 中搜索 tokamak 并安装它.

Cargo:

   Cargo是Rust的构建系统和包管理工具,同时Rustacean用Cargo来管理它们的Rust项目。

   Cargo的三个工作:

   1.构建你的代码

         2.下载你代码依赖的库--库称为依赖(dependencies)

   3.编译这些库

  查看Cargo的版本:

cargo--version

        同时,

  •    main.rs作为源文件名--创建的是一个可执行文件
  •     lib.rs文件名--创建一个库文件(crate箱子)--库library或包(package)  

创建配置文件:

   Cargo.toml--TOML(Tom's Obvious,Minimal Language)格式

   TOML是前GitHub CEO, Tom Preston-Werner,于2013年创建的语言,其目标是成为一个小规模的易于使用的语义化配置文件格式。TOML被设计为可以无二义性的转换为一个哈希表(Hash table)。详情TOML简介

          例子:

[package]
name = "hello_world"
version = "0.0.1"
authors = ["Your name <you@examole.com>"]

 

构建并运行Cargo项目

           两步:

cargo build
./target/debug/hello_world  
  1.  

  一步:

cargo run  

run 命令在你需要快速迭代项目时显得很有用。

发布构建:(优化编译项目)

     cargo build --release

Cargo.lock:跟踪你程序的依赖

  一个方法开始所有的Rust项目:

git clone someurl.com/foo
cd foo
cargo build 

快速创建新项目:

cargo new hello_world --bin 

这个命令传递了 --bin 参数因为我们的目标是直接创建一个可执行程序,而不是一个库。

 

总结

编译: rust hello.rs -o //加入优化项目

项目管理:

   创建项目 cargo new hellorust --bin

   编译项目 cargo build --release

   运行项目 cargo run --release

   清理项目 cargo clean

 

   cargo check

 

安装文档:rustup doc -std  

   

相关文章
|
4月前
|
Rust 安全 网络协议
Rust 笔记:Rust 语言中的枚举 与 模式匹配
Rust 笔记:Rust 语言中的枚举 与 模式匹配
48 0
|
4月前
|
存储 Rust 安全
Rust 笔记:Rust 语言中的 所有权 与 生命周期
Rust 笔记:Rust 语言中的 所有权 与 生命周期
136 0
|
27天前
|
Rust 安全 程序员
开发语言漫谈-rust
if(){}else{}就是C家族的
|
2月前
|
Rust 监控 数据安全/隐私保护
Rust语言在员工屏幕监控系统中的应用指南
员工屏幕监控系统在现代企业管理中扮演着重要角色。它们能够帮助企业监控员工的活动,确保他们的工作效率和数据安全。在这篇文章中,我们将探讨如何使用Rust语言构建一个简单而高效的员工屏幕监控系统,并提供一些代码示例以帮助你入门。
144 0
|
3月前
|
Rust 监控 JavaScript
抖音技术分享:飞鸽IM桌面端基于Rust语言进行重构的技术选型和实践总结
本文将介绍飞鸽IM前端团队如何结合Rust对飞鸽客户端接待能力进行的技术提升,一步步从概念验证、路径分解到分工开发,再到最后上线收益论证,并分享了其中遇到的技术挑战与经验总结等。
62 1
|
3月前
|
Rust 安全 前端开发
Rust还是其他语言:考量因素与案例分析
【2月更文挑战第1天】本文将探讨在选择编程语言时,为什么Rust可能会成为理想的选择。我们将分析Rust的主要优势,如内存安全、性能、并发编程和所有权系统,并将其与其他流行的编程语言进行比较。此外,我们还将通过具体的案例分析,展示Rust在实际应用中的优势和应用场景。
|
3月前
|
Rust 安全 Java
Rust 语言的类型系统
假如让你设计编程语言的类型,你会怎么做? 要定义哪些类型? 类型之间如何交互? 是否需要类型推断? 类型系统是编程语言中用于定义和控制类型的一组规则。
Rust 语言的类型系统
|
3月前
|
Rust 安全
Rust语言中的控制流:条件语句、循环与模式匹配详解
本文将深入探讨Rust编程语言中的控制流构造,包括条件语句、循环和模式匹配。我们将了解如何使用这些工具来构建高效、可读和安全的代码。此外,我们还将探讨Rust在这些构造中提供的一些独特功能和优化。
|
4月前
|
存储 缓存 Rust
Rust 笔记:Rust 语言中哈希结构(哈希映射,HashMap)、集合(哈希集,HashSet)及其使用
Rust 笔记:Rust 语言中哈希结构(哈希映射,HashMap)、集合(哈希集,HashSet)及其使用
393 0
|
4月前
|
存储 Rust 安全
Rust 笔记:Rust 语言中的 结构体 与面向对象编程的实现
Rust 笔记:Rust 语言中的 结构体 与面向对象编程的实现
78 0