comewithyou1996 发表于 2024-11-13 02:04

rust学习记录1

本帖最后由 comewithyou1996 于 2024-11-13 12:17 编辑

一、rust简介
rust作为近年来新兴起的一门编程语言,被多家公司认作是C语言的替代品,由于其所有权和命名空间的约束,以及对例如内存泄漏等问题的处理,rust被认为安全性远远高于其他语言。同时在并发方向,rust在很多地方与golang相似,其性能仅次于C语言。作为一名新接触该行业的学生,十分希望越来越多的编程语言百花齐放,解决过去霸榜的各种编程语言的潜在问题,促进行业发展。因此在不断学习的过程中,也在此不断记录和分享学习到的知识,与各位讨论,扩展知识面。
本帖为学习记录的第一篇帖子,首先宏观了解一下rust这个后起之秀的特点。
rust可以让每个人编写可靠且高效的软件,在很多情况下可以替代C/C++,与之相比,很多常见bug在编译时就可以被消灭。个人分析rust相比较其他语言,更擅长于以下场景:高速、安全(特别是内存安全)、并发。正是由于此,我们可以在进行网络编程、命令行工具编写、嵌入式设备以及系统编程时使用它。
firefox是rust产品应用的一个例子,2006年Mozilla一直使用rust创建一个名为Servo的实验性浏览器引擎,其中所有内容都是并行执行的,随后更新的firefox的量子版就包含了Servo的CSS渲染引擎。当然,近年来rust最大应用就是微软正在使用rust重写Windows系统中的一些低级组件,并计划未来出现的windows系统完全使用rust编写。

二、rust的安装及环境配置
安装包直接在rust官网下载并双击安装即可,开发环境在安装完成后就已经配置好,本地文档也在安装过程中下载到了本地,通过rustup doc命令查看。
rust程序的开发工具使用vscode或者RustRover即可,且二者使用方式类似,唯一需要注意的就是使用RustRover新建文件时,注意选择新建“二进制文件”即可。下面以vscode为例进行介绍(注意下载插件:rust和rust-analyzer)。
安装好之后,我们可以使用rustup update命令升级rust版本,使用rustup self uninstall命令卸载rust。这两条命令运行在命令行终端中,暂时用不到。

三、第一个程序及相关概念介绍
编写的rust文件后缀名是.rs,编写一个程序尝试一下:
```
fn main() {
    println!("Hello World!")
}
```
注意rust中使用四个空格进行缩进,不能使用Tab键
虽然可以使用命令在命令行中进行编译、运行等操作,但是rust并不建议这样做,因为官方提供了一个更方便易用的工具-cargo
cargo工具在安装rust时就已经安装好了,用来构建代码、下载依赖库、构建这些库。可以用cargo --version命令查看版本
以后我们新建rust文件可以用命令cargo new+名称 来新建项目,新建之后除了src目录用来存放源代码,还会生产一个Cargo.toml文件和一个新的git仓库。Cargo.toml文件中存放了项目名、项目版本、作者、依赖项的版本等信息。
使用cargo run命令编译和运行代码(当然也可以使用cargo build命令单独构建,但是没必要多此一举)

takej 发表于 2024-11-13 07:10

感谢大佬分享,也许rust会发扬光大的

zhxiaoll 发表于 2024-11-13 07:30

rust的使用场景是不是有点受限

robot666 发表于 2024-11-13 07:55


感谢大佬分享!

c5soft 发表于 2024-11-13 08:19

写得很好!不过,文中说“注意rust中使用四个空格进行缩进,不能使用Tab键”,这个说话值得商榷。rust编译器对空白字符(空格、Tab、回车、换行等)一律忽略,对排版格式没有要求,语法分段是通过分号与大括号来分割。排版缩进只是为了便于阅读。

c5soft 发表于 2024-11-13 08:23

zhxiaoll 发表于 2024-11-13 07:30
rust的使用场景是不是有点受限

恰恰相反,Rust是全能编程语言,即可用于系统级的编程,如操作系统、驱动程序等等,也可用于应用级的编程,如数据库、网页服务、图形界面应用等等。

52pojiewj 发表于 2024-11-13 08:47

rust听说很难入手。。。。。。。。。。

wavecut 发表于 2024-11-13 08:54

最近也被朋友安利rust,准备着手看学习一下。

三滑稽甲苯 发表于 2024-11-13 08:57

最近也有入门编程原神的想法,但是没有空闲时间

lianqu9011 发表于 2024-11-13 09:01

听说rust要取代c/c++,你觉得可能吗
页: [1] 2 3 4
查看完整版本: rust学习记录1