首页 > 其他分享 >Rust学习笔记-初识

Rust学习笔记-初识

时间:2022-08-27 15:46:38浏览次数:81  
标签:cargo io crates source 初识 笔记 sjtu Rust

很早以前,看到马斯克说:“我是Rust的粉丝,但是为了性能会选择C。”之后就对Rust产生了一些兴趣,不过由于时间关系没有及时深入了解。

最近,又看到Meta选定四种编程语言作为首选语言:Python、C++、Rust和Hack。这让我再一次燃气了对Rust的好奇,到底是什么让全球顶尖大佬和互联网大厂选择了Rust呢?我决定开始学习Rust,通过学习来逐步了解和发现这一门语言的魅力所在。

首先,通过搜索引擎找到了Rust官方中文门户:Rust 程序设计语言 (rust-lang.org),映入眼帘的Banner:“Rust,一门赋予每个人构建可靠且高效软件能力的语言。”在混沌大学学习过的创新课告诉我,这就是Rust的使命。我迫不及待的点击“马上开始”按钮,赶快进入到Rust的世界。

安装非常容易,Windows环境学习,下载RUSTUP-INIT.EXT(64位),打开是命令行安装引导,我选择了1) Proceed with installation (default)进行默认安装,Rust编译运行还需要Microsoft C++生成工具也就是VisualStudio套件,安装过程中会自动提示完成相关下载。

耐心等待下载安装完成后,就可以使用Rust进行开发学习了。

Rust有默认的版本升级工具,通过命令行运行以下命令,即可升级最新版本的Rust。

rustup update

Cargo是Rust的构建工具和包管理器,日常开发中会经常用到这个工具。

cargo new #新建项目
cargo build #构建项目
cargo run #运行项目
cargo test #测试项目
cargo doc #构建文档
cargo publish #发布到crates.io
cargo install #安装依赖包

由于一些众所周知的原因,cargo默认的安装源在国内下载速度很慢,所以我们可以为cargo配置国内的镜像来帮助我们更有效率的学习和开发。cargo配置文件位于 C:/Users/用户名/.cargo 目录下的config文件,如果没有可以自己创建,然后对config文件进行如下修改:

[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
# 指定镜像
replace-with = 'sjtu' # 如:tuna、sjtu、ustc,或者 rustcc

# 注:以下源配置一个即可,无需全部
# 目前 sjtu 相对稳定些

# 中国科学技术大学
[source.ustc]
registry = "https://mirrors.ustc.edu.cn/crates.io-index"

# 上海交通大学
[source.sjtu]
registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index/"

# 清华大学
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"

# rustcc社区
[source.rustcc]
registry = "https://code.aliyun.com/rustcc/crates.io-index.git"

我们通过replace-with指定了sjtu的源,也可以切换到其他源。

就此,我们Rust的安装和简单配置就告一段落了,我们来建一个helloworld,验证一下吧。

cargo new hello-world
cd hello-worold
cargo run

 

 Hello,world!Rust,我们来啦!

 

标签:cargo,io,crates,source,初识,笔记,sjtu,Rust
From: https://www.cnblogs.com/artwell/p/16630610.html

相关文章

  • js笔记整理2
    对象及日期定时器日期对象的定义(使用new关键词)1.获取当前的时间(本地的时间)vardate=newDate()//不传参就是获取当前时间2.获取指定的时间vardate=newDate(......
  • dragonfly 蜻蜓算法 学习笔记
    1、GettingStated1.1CommandLine使用方法:在pycharm中:cdexamplepython..\bin\dragonfly-script.py--configxxx.json--optionxxx.txt1)BasicUse全局优化......
  • 数据库学习笔记 (本数据库学习笔记以SQL sever 2019 为例进行学习) 20220823 第一节课
    教材及参考数据库课程讲什么?内容安排第一部分数据库原理部分第一章数据库系统概述为什么要学习数据库?数据库的发展改变了人们的工作和生活模式信息积累与运用......
  • 【笔记】线性代数
    矩阵乘法首先给出矩阵乘法的代数意义:结合一个具体的例子来理解:设答案矩阵为\(ans\)。根据公式:\(ans_{1,1}\)是由\(a\)矩阵的第一行与\(b\)矩阵的第一列逐位相......
  • 【Unity学习笔记】Transform—游戏物体的缩放和看向
    1.缩放相关usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassLesson8:MonoBehaviour{voidStart(){......
  • docker笔记
    Warning:Stoppingdocker.service,butitcanstillbeactivatedby:docker.socket解释:这是docker在关闭状态下被访问自动唤醒机制,很人性化,即这时再执行任意docker......
  • Linux学习笔记1——Linux简介、版本、安装
    Linux学习笔记1——Linux简介、版本、安装1、Linux简介:一种开源的,免费的操作系统,安装在计算机硬件上,用来管理计算机的硬件和软件资源的系统软件。Linux注重安全性,稳定性......
  • 2022-08-26 第六小组 高佳誉 学习笔记
    前情提要(博主在复习前端知识,所以近几天没有更新博客。相关前端内容可见博主其他随笔)JQurey重点事件与JS的区别选择器思维导图知识点1.定义JQuery是一个快速、......
  • 论文笔记 - Unsupervised Domain Adaptation by Backpropagation
    摘要提出了一个新的深度架构的域自适应方法,可在有大量标记数据的源数据和大量未标记数据的目标域上进行训练该方法促进“深度特征”的出现(深度特征)对于学习任务有主......
  • Kubernetes学习笔记(二十三):TLS
    SymmetricEncryption:对称加密,使用相同的密钥来加密和解密数据,必须在发送方和接收方之间交换,因此存在风险AsymmetricEncryption:非对称加密,PrivateKey和PublicLockssh-......