Rust是一种体系编程言语,它旨在供给高机能、内存保险以及并发支撑。由Mozilla开辟,Rust计划之初就考虑了内存保险跟并发性,经由过程全部权(Ownership)、借用(Borrowing)跟生命周期(Lifetimes)等不雅点,确保了代码的内存保险,即便在并发情况中也能避免数据竞争。
rustup
,Rust官方的东西链安装器,可能便利地安装Rust及其东西。
curl --proto 'https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rust-analyzer
跟CodeLLDB
插件。let
关键字,支撑多种数据范例,如整数、浮点数、布尔值等。
let x = 5;
let mut y = 10; // `mut`表示变量可变
if
跟loop
等关键字实现前提断定跟轮回。
if x > 10 {
println!("x is greater than 10");
}
loop {
// 轮回体
break; // 跳出轮回
}
fn
关键字,函数可能前去值。
fn add(a: i32, b: i32) -> i32 {
a + b
}
全部权借用生命周期
(Ownership, Borrowing, and Lifetimes)的不雅点来管理。
利用冒泡排序处理数组并打印:
fn bubble_sort<T: Ord>(arr: &mut [T]) {
let len = arr.len();
for i in 0..len {
for j in 0..len - i - 1 {
if arr[j] > arr[j + 1] {
arr.swap(j, j + 1);
}
}
}
}
利用fs接口,read等trait打印文本文件的每行数据:
use std::fs::File;
use std::io::{self, BufRead, BufReader};
fn read_file(file_path: &str) -> io::Result<()> {
let file = File::open(file_path)?;
let reader = BufReader::new(file);
for (index, line) in reader.lines().enumerate() {
let line = line?;
println!("Line {}: {}", index + 1, line);
}
Ok(())
}
基于serial库开辟单片机串口下载东西: 因为涉及硬件操纵,这里仅供给伪代码框架。
fn serial_download() {
// 初始化串口
let mut serial = Serial::new(...);
// 发送下载指令
serial.write(...);
// 等待呼应
let response = serial.read(...);
// 处理呼应
...
}
Rust为嵌入式开辟带来了新的可能性,其内存保险跟并发特点使得开辟愈加坚固。经由过程本文,你懂得了Rust的基本不雅点跟语法,以及怎样利用Rust停止一些简单的实战任务。盼望这篇文章能帮助你开端Rust的进修之旅。