Rust开发入门
Rust是一种专注于性能、并发和内存安全的系统编程语言。本文旨在为那些对此语言感兴趣的人提供一个初步的入门指南。
Rust的特性
Rust是一种多范式、编译型的系统编程语言,它注重于性能和安全,特别是并发和内存安全1。Rust采用了许多先进的语言特性,包括类型推导、模式匹配、借用检查和零成本抽象等。
Rust的应用场景
Rust被设计为能够处理大量的并发和高性能的软件,这使得它适合在游戏开发、操作系统开发、浏览器引擎开发以及嵌入式系统等领域发挥巨大的作用。
Rust安装——环境配置
要开始使用Rust,首先需要在你的计算机上安装它。以下是一些基本的步骤:
1. 安装rustup
rustup是Rust版本管理和工具链安装的命令行应用。你可以从rustup.rs网站下载并安装它。
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
这条命令下载了一个shell脚本,并用shell执行它,该脚本安装Rust编程语言和rustup工具链。
sudo apt update ; apt install curl
具体执行步骤
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
上面提示我们说已经安装好了,需要重启shell会话来重新加载环境变量。
2. 验证安装
我们重启shell后,通过运行下面的命令,来检查是否安装成功。
rustc --version
已经安装成功了。
Rust的卸载
如果是通过rustup安装的Rust,可以使用下面的命令卸载Rust和rustup,它将会卸载rustup以及rustup安装的所有工具链和配置,包括Rust编译器(rustc)、Rust的包管理器(cargo)等:
rustup self uninstall
基本语法
变量与数据类型
Rust是静态类型的,这意味着在编译时必须知道所有变量的类型。这是一个声明变量的示例:
let x: i32 = 10;
Rust拥有许多不同的数据类型,包括但不限于整型、浮点型、布尔型、字符型、数组和字符串等。
控制流
Rust支持常见的控制流语句,包括if
、else
、while
、for
循环和match
模式匹配。
函数
在Rust中,你可以使用fn
关键字来定义函数。以下是一个函数的例子:
fn add(x: i32, y: i32) -> i32 {
x + y
}
Rust的所有权系统
Rust的所有权系统是一种编译时的内存管理机制,它可以保证内存安全而无需垃圾收集。所有权系统基于三个主要的规则2:
错误处理
Rust提供了一套强大的错误处理机制,它区分了可恢复的错误和不可恢复的错误。对于可恢复的错误,我们通常返回Result<T, E>
类型;对于不可恢复的错误,我们使用panic!
宏来停止程序执行。
实战:构建一个小项目
最后,让我们通过一个简单的命令行应用来看一下Rust的实际应用。这个应用会从文件中读取数据,并统计各单词出现的次数。
创建新项目
cargo new word_count
cd word_count
编写代码
进入项目:
use std::collections::HashMap;
use std::fs;
fn main() {
let contents = fs::read_to_string("test.txt")
.expect("Something went wrong reading the file");
let mut map = HashMap::new();
for word in contents.split_whitespace() {
let count = map.entry(word).or_insert(0);
*count += 1;
}
println!("{:?}", map);
}
这段代码首先从test.txt
文件中读取内容,然后对每个单词进行计数,并将结果存储在HashMap
中。
同时在word_count
目录下创建test.txt
文件,并添加以下内容:
Hello world this is a test file. This file will be read by the Rust program.
Let's count the number of word in this text.
运行项目
安装相关链接器
执行:
which cc
解决方法:安装build–essential包,它包含了GCC、G++和其他一些基本的开发工具:
sudo apt update
sudo apt install build-essential
装好后就有cc
链接器了:
运行
cargo run
运行结果:
结果显示了每个单词在文本中的出现次数。(因为没有做细节处理,所以file.
也会被当作一个单词)
删除项目
rm xxx -r
原文地址:https://blog.csdn.net/Dontla/article/details/134769544
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_41304.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!