Liekkas
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
2.4 复合类型

2.4 复合类型

1 复合类型 本章的重点在复合类型上,顾名思义,复合类型是由其它类型组合而成的,最典型的就是结构体 struct 和枚举 enum。例如平面上的一个点 point(x, y),它由两个数值类型的值 x 和 y 组合而来。我们无法单独去维护这两个数值,因为单独一个 x 或者 y 是含义不完整的,无法标识平面上的一个点,应该把它们看作一个整体去理解和处理。 来看一段代码,它使用我们之前学
2025-01-05
rust > rust圣经 > rust基础
#rust
2.3.2 引用与借用

2.3.2 引用与借用

1 引用与借用 Rust 通过 借用(Borrowing) 这个概念来达成上述的目的,获取变量的引用,称之为借用(borrowing)。正如现实生活中,如果一个人拥有某样东西,你可以从他那里借来,当使用完毕后,也必须要物归原主。 1.1 引用与解引用 常规引用是一个指针类型,指向了对象存储的内存地址。在下面代码中,我们创建一个 i32 值的引用 y,然后使用解引用运算符来解出 y 所使
2025-01-05
rust > rust圣经 > rust基础
#rust
2.3.1 所有权

2.3.1 所有权

1 所有权 所有的程序都必须和计算机内存打交道,如何从内存中申请空间来存放程序的运行内容,如何在不需要的时候释放这些空间,成了重中之重,也是所有编程语言设计的难点之一。在计算机语言不断演变过程中,出现了三种流派: 垃圾回收机制(GC),在程序运行时不断寻找不再使用的内存,典型代表:Java、Go 手动管理内存的分配和释放, 在程序中,通过函数调用的方式来申请和释放内存,典型代表:C++
2025-01-05
rust > rust圣经 > rust基础
#rust
2.3 所有权和借用

2.3 所有权和借用

1 所有权和借用 Rust 之所以能成为万众瞩目的语言,就是因为其内存安全性。在以往,内存安全几乎都是通过 GC 的方式实现,但是 GC 会引来性能、内存占用以及 Stop the world 等问题,在高性能场景和系统编程上是不可接受的,因此 Rust 采用了与众不同的方式:所有权系统。 理解 所有权 和 借用,对于 Rust 学习是至关重要的。
2025-01-05
rust > rust圣经 > rust基础
#rust
2.2.4 函数

2.2.4 函数

1 函数 123fn add(i: i32, j: i32) -> i32 { i + j } 该函数如此简单,但是又是如此的五脏俱全,声明函数的关键字 fn,函数名 add(),参数 i 和 j,参数类型和返回值类型都是 i32,总之一切那么的普通,但是又那么的自信,直到你看到了下面这张图: img 1.1 函数要点 函数名和变量名使
2025-01-05
rust > rust圣经 > rust基础
#rust
2.2.3 语句与表达式

2.2.3 语句与表达式

1 语句和表达式 Rust 的函数体是由一系列语句组成,最后由一个表达式来返回值,例如: 12345678#![allow(unused)]fn main() {fn add_with_extra(x: i32, y: i32) -> i32 { let x = x + 1; // 语句 let y = y + 5; // 语句 x + y // 表
2025-01-05
rust > rust圣经 > rust基础
#rust
2.2.2 字符、布尔、单元类型

2.2.2 字符、布尔、单元类型

1 字符、布尔、单元类型 1.1 字符类型(char) 下面的代码展示了几个颇具异域风情的字符: 123456fn main() { let c = 'z'; let z = 'ℤ'; let g = '国'; let heart_eyed_cat = '😻';}
2025-01-05
rust > rust圣经 > rust基础
#rust
2.2.1 数值类型

2.2.1 数值类型

1 数值类型 Rust 使用一个相对传统的语法来创建整数( 1, 2,...)和浮点数( 1.0, 1.1,...)。 不仅仅是数值类型,Rust 也允许在复杂类型上定义运算符,例如在自定义类型上定义 + 运算符,这种行为被称为运算符重载,Rust 具体支持的可重载运算符见 附录 B。 1.1 整数类型 整数 是没有小数部分的数字。下表显示了 Rust 中的内置的整数类
2025-01-05
rust > rust圣经 > rust基础
#rust
2.2 基本类型

2.2 基本类型

1 基本类型 Rust 每个值都有其确切的数据类型,总的来说可以分为两类:基本类型和复合类型。 基本类型意味着它们往往是一个最小化原子类型,无法解构为其它类型(一般意义上来说),由以下组成: 数值类型:有符号整数 ( i8, i16, i32, i64, isize)、 无符号整数 ( u8, u16, u32, u64, usize) 、浮点数 ( f32, f64)、以及有
2025-01-05
rust > rust圣经 > rust基础
#rust
2.1 变量绑定与解构

2.1 变量绑定与解构

1 变量绑定与解构 1.1 为何要手动设置变量的可变性? Rust 支持声明可变的变量,也支持声明不可变的变量(例如函数式语言),既要灵活性又要安全性。 运行性能上的提升,因为将本身无需改变的变量声明为不可变在运行期会避免一些多余的 runtime 检查。 1.2 变量命名 在命名方面,和其它语言没有区别,不过当给变量命名时,需要遵循 Rust 命名规范。 Rust 语言有
2025-01-05
rust > rust圣经 > rust基础
#rust
1…678910…37

搜索

Hexo Fluid