跳过正文
rust笔记-2025-08-02T11:16:00+08:00

rust笔记-2025-08-02T11:16:00+08:00

·950 字·2 分钟· loading · loading · · 草稿
StudyBase 笔记 Rust 编程语言
目录
笔记-rust - 这篇文章属于一个选集。
§ -1: 本文
Rust is installed now. Great!

To get started you may need to restart your current shell.
This would reload your PATH environment variable to include
Cargo's bin directory ($HOME/.cargo/bin).

To configure your current shell, you need to source
the corresponding env file under $HOME/.cargo.

This is usually done by running one of the following (note the leading DOT):
. "$HOME/.cargo/env"            # For sh/bash/zsh/ash/dash/pdksh
source "$HOME/.cargo/env.fish"  # For fish
source $"($nu.home-path)/.cargo/env.nu"  # For nushell

基础数据类型(primitive types)
#

intro
#

  • 整型,分为无符号、有符号,用u/i区分,宽度在8-128之间,也就是u8, u16, u32, u64, u128, i8, i16, i32, i64, i128;

  • 浮点型,分f32f64,也就是单精度float和双精度double

  • 布尔型,占 1 byte;

  • char, 占 4 byte。注意,rust中的char代表一个unicode值而不是ascii

基础类型的字面量(literal)写法
#

  • 数字前可以加一个负号;加正号属于error; 加多个负号属于warning, 因为会被误解为操作符,应使用括号:-(-11)
  • 数字前加0x表示十六进制,0o八进制,0b二进制
  • 数字后可以加数据类型来固定字面量的类型,如11.4f64, 2u8;
  • 布尔变量只能是truefalse。将布尔变量赋值为数字是error;
  • char是单引号括起的字符。注意char中符号的数值和ascii不一样。如果想要利用符号的ascii数值,应该在char字面量前加上b(byte)前缀,如b'a',这是u8类型。如果是字符串,如b"hello", 就是u8数组。

变量声明与使用
#

let x: u8 = b`a`;
let x = 6; // 自动推断类型

x = 5      // wrong!变量默认不可变
let x = 5; // right!复写变量

// 在identifier前面加上`mut`(mutable)关键字使变量可变
let mut y = 1;
y = 2;

类型转换
#

Rust 是类型安全的语言。这意味着不存在隐式转换!若要转换,必须使用as关键字。

let decimal = 65.4321_f32;
// 错误!不提供隐式转换
let integer: u8 = decimal;   // ERROR
// 使用as显式转换
let integer = decimal as u8; // 该转换会丢失数值精度

language lawyer: 显示转换可行性的表格如下。

rust的显示转换

数组
#

定义
#

// 一般定义方式
let a: [u8; 2] = {1, 1};
// 使用类型推导
let b = [1, 2, 3]; // [i32; 3]
// 重复初始化,相当于一个for loop
let c = [0;114]    // 将114个元素赋值为0

访问
#

形如a[1]。注意如果越界访问,运行时必定error而不是ub.

切片
#

切片是指向数组特定部分的一个指针,其长度就是切下的长度,其定义方式:let slice: &[type] = &array[a..b],其中type是数组中元素的类型,array是被切的数组,ab是数组索引,切片不包含b,包含a.

let a: [i32; 4] = [0, 1, 2, 3];
let s: &[i32] = &a[1..3];       // s: [1, 2]
Reply by Email
hhikr
作者
hhikr
未来人,宇宙人或超能力者
笔记-rust - 这篇文章属于一个选集。
§ -1: 本文

相关文章

草稿
中端优化:指针分析
·4151 字·9 分钟· loading · loading
StudyBase 笔记 编译原理
编译原理笔记
草稿
中端优化:符号执行
·4489 字·9 分钟· loading · loading
StudyBase 笔记 编译原理
编译原理笔记
草稿
中端优化:数据流分析
·2676 字·6 分钟· loading · loading
StudyBase 笔记 编译原理
编译原理笔记。