Rust数据类型,了解一下?

开发 前端
Rust是一门静态类型语言,这意味着每个值都有确定的数据类型。编译器能根据你给的值自动推断出变量的类型,超智能的,有没有!

嘿,小伙伴们!今天我们来聊聊Rust这门语言里的“类型系统”。这个系统就像是个大管家,它负责检查我们给程序的数据是否合法,确保代码按照预期运行。而且,类型系统还能帮我们自动生成文档,提示代码,让编程变得更有趣!

Rust是一门静态类型语言,这意味着每个值都有确定的数据类型。编译器能根据你给的值自动推断出变量的类型,超智能的,有没有!

声明变量,就这么简单

用let关键字就能声明一个变量。比如:

fn main() {
   let company_string = "science_note"; // 字符串类型
   let rating_float = 4.5; // 浮点类型
   let is_growing_boolean = true; // 布尔类型
   let icon_char = '♥'; // Unicode字符类型
   println!("company name is:{}", company_string);
   println!("company rating on 5 is:{}", rating_float);
   println!("company is growing: {}", is_growing_boolean);
   println!("company icon is: {}", icon_char);
}

看,变量的类型就是根据它们被赋予的值来推断的。company_string是字符串,rating_float是浮点数,就这么简单。

标量类型,单一值的代表

标量类型代表单个值,比如数字10、3.14、字符'c'。Rust有四种主要的标量类型:整数、浮点数、布尔值和字符。

整数,就是没有小数部分的数

整数可以分为有符号和无符号两种。有符号整数能存负数和正数,无符号的只能存正数。下面是整数类型的详细描述:

fn main() {
   let result = 10; // 默认是i32类型
   let age: u32 = 20; // 指定为u32类型
   let sum: i32 = 5 - 15; // 这里的计算结果是-10
   let mark: isize = 10; // isize类型
   let count: usize = 30; // usize类型
   println!("result value is {}", result);
   println!("sum is {} and age is {}", sum, age);
   println!("mark is {} and count is {}", mark, count);
}

浮点数,就是小数

浮点数类型在Rust里分为f32和f64。f32是单精度浮点数,f64是双精度。默认情况下是f64。看个例子:

fn main() {
   let result = 10.00; // 默认是f64
   let interest: f32 = 8.35; // f32类型
   let cost: f64 = 15000.600; // 双精度
   println!("result value is {}", result);
   println!("interest is {}", interest);
   println!("cost is {}", cost);
}

布尔值,真或假

布尔类型只有两个值:true和false。用bool关键字声明布尔变量。

fn main() {
   let isfun: bool = true;
   println!("Is Rust Programming Fun ? {}", isfun);
}

字符,就是单个的字母或符号

字符类型在Rust里支持数字、字母、Unicode和特殊字符。用char关键字声明字符类型的变量。

fn main() {
   let special_character = '@'; // 默认
   let alphabet: char = 'A';
   let emoji: char = '😁';
   println!("special character is {}", special_character);
   println!("alphabet is {}", alphabet);
   println!("emoji is {}", emoji);
}

好啦,今天关于Rust的数据类型就聊到这里。希望你们喜欢,下次再见!

责任编辑:武晓燕 来源: 科学随想录
相关推荐

2023-05-14 18:56:50

Rust数据类型

2024-04-11 13:02:10

Rust数据类型

2020-03-01 17:53:38

Excel大数据微软

2020-12-10 08:44:35

WebSocket轮询Comet

2021-01-21 10:23:43

数据库架构技术

2022-03-24 13:36:18

Java悲观锁乐观锁

2021-04-28 18:16:24

Rust数据类型

2022-01-17 10:52:21

System76RustCOSMIC桌面

2019-02-20 14:16:43

2020-02-10 14:26:10

GitHub代码仓库

2018-06-05 17:40:36

人工智能语音识别

2022-03-07 06:34:22

CQRS数据库数据模型

2023-11-14 09:18:00

Python代码

2018-07-17 14:42:50

2024-02-28 18:22:13

AI处理器

2023-11-18 09:09:08

GNUBSD协议

2023-11-01 16:01:00

数据类型Rust

2010-10-15 13:28:34

MySql数据类型

2018-04-12 17:29:43

众筹Linux红旗软件

2023-06-30 07:22:48

新元素父节点编号
点赞
收藏

51CTO技术栈公众号