07_Rust中的数据类型

本文为博客 VIP 文章,开通 VIP 后可阅读全文

开通 VIP

Rust中的数据类型


Rust中的数据类型主要分为两种:

  • 标量数据类型
  • 复合数据类型

标量数据类型

在其他语言里,如C语言,则称标量数据类型为基本数据类型,就是包含整型、浮点型、字符类型等。在Rust中的标量数据类型也差不多是这些。

整型

是一个没有小数部分的数字。

长度 有符号 无符号
8-bit i8 u8
16-bit i16 u16
32-bit i32 u32
64-bit i64 u64
128-bit i128 u128
arch isize usize

其中i是integer的意思,u是unsigned integer的意思。

因为学Rust的同学基本都学过C语言了,所以这些非常非常基础的东西就不再累赘了,因为都差不多的,一些差异的内容需要补充的可以到Rust官网中查看。Rust官方文档:数据类型 - Rust 程序设计语言 简体中文版 (kaisery.github.io).

浮点数

对应C语言的float和double类型。

默认是f64即默认是双精度浮点型。

Rust C
f32 float
f64 double

Rust的符号表可查看Rust官方文档:B - 运算符与符号 - Rust 程序设计语言 简体中文版 (kaisery.github.io).

字符类型

对应C语言的char,在Rust里也是以char为关键字。

fn main() {
   
   
    let c = 'z';
    let z: char = 'ℤ'; // with explicit type annotation
    let heart_eyed_cat = '😻';
}

Rust的字符默认使用Unicode编码,C语言一般是使用ASCII编码(这个由编辑器决定,有些地方出现乱码是因为编辑器使用的编码和终端显示的编码不对应导致的)。

复合数据类型

复合类型Compound types)可以将多个值组合成一个类型。Rust 有两个原生的复合类型:元组(tuple)和数组(array)。

元组

元组是一个将多个其他类型的值组合进一个复合类型的主要方式。元组长度固

RustRust在实际项目中的应用_2024-07-15_05-44-06.Tex / 示例代码:定义函数和使用控制流println!println!println!// 定义函数5println! 阅读详情

相关推荐

[rust整理笔记]rust基本语法之option解耦-07

例子 let sp = Some(111); if let Some(b) = sp{ println!("{}", b); }else{ println!("wrong"); } 原理 Some(T)存在于Option枚举类型中,它的定义: enum Option<T> { Some(T), None, } 这里使用了范型。也就是说Option枚...

图解AI 7482

Rust 学习笔记】Rust 基础数据类型介绍——固定宽度的数值类型

类型简要说明给定位宽的有符号整数和无符号整数与机器字(32bit、64bit)一样大的有符号整数和无符号整数f32、f64单精度IEEE浮点数和双精度IEEE浮点数bool布尔值charUnicode字符,32位宽(4字节)()单元元组(空元组)元组(允许混合类型)指向堆中值的拥有型指针共享引用和可变引用,非拥有型指针,其生命周期不能超出引用目标StringUTF-8字符串,动态分配大小&str对str的引用,指向UTF-8文本的非拥有型指针[f64;4]、[u8;

从善若水的博客 1513

rust编写web服务07-Redis缓存

内存存储: 高速数据访问数据结构: 多种数据类型支持持久化: 数据持久化策略高可用: 主从复制和哨兵模式。

lpfasd123的博客 249

Rust 中的基本数据类型——Rust语言基础06

Rust 中的基本数据类型

Imagine Miracle的博客 3280

Rust游戏数据查询、Rust服务器清档时间表

Rust盒子“玩家查询”,除了支持玩家账号信息查询,封禁记录查询和好友信息查询外,新增了游戏数据统计查询功能等...

Rust盒子提供Rust腐蚀热门教程,实用工具等。 1万+

Rust 基础语法和数据类型

Rust面向对象上与C++有理念上的不同,所以实现也有较大区别,但是在泛型上,跟C++区别不大。至于Rust所独有的所有权以及借用和引用,是为了实现内存安全和像C++一样的速度而设计的,如果依旧使用深拷贝和浅拷贝机制,不加以管理让用户自己选择拷贝策略或者像Python一样默认浅拷贝,会内存不安全。如果默认深拷贝,则会效率极低。

汉阳Hann's Home 2035

【2025 Rust学习 --- 01 数据类型

rust语言程序设计精摘 --- 数据类型

weixin_53800025的博客 1001

Rust学习笔记_07——枚举和范围

Rust语言中的范围(Range)是一种用于生成数字序列或进行迭代操作的表达式。Rust提供了两种主要类型的范围:半开区间范围(half-open range)和步长范围(range with step)。这些范围在for循环和其他上下文中都非常有用。

LuckyLay的博客 1093

Rust日报】2022-07-17 用Rust写Linux内核

Rust写Linux内核Rust 作为第二语言被引入 Linux 内核,虽然目前是实验性质,但对每一个 Rustaceans 来说都是一件值得关注的大事。本文通过编写一个简单的字符设备驱动,带领我们了解如何通过 Rust 为 Linux 编写内核模块。文章地址:https://mp.weixin.qq.com/s/m2eZ0lEzQHjrNVC6YCC_IARustli...

Rust语言学习交流 758

Rust日报】2023-07-05 让我们从 abandon 开始--用 rust 写链表

让我们从 abandon 开始--用 rust 写链表虽然 Rust 的标准库中已经有了一个LinkedList数据结构,但创建自己的数据结构是了解更多 Rust 的一种有趣的方式。节点让我们首先定义我们的 Node 结构来保存模版。我们的 Node 将包含一个数据项,以及 Node 可能存在或可能不存在的上一个和下一个数据项。/// A node containing a data item a...

Rust语言学习交流 434

Rust日报】 2019-07-29:关于创建「更小的」Rust的思考

关于创建「更小的」Rust的思考#rust官方核心团队成员无船大佬新博文,针对社区中有些人喜欢Rust但还没有真正热爱Rust的人提出的看法「能否创造一个更小化更简单的更...

Rust语言学习交流 367

Rust日报】 2019-07-02:用Python,Go和Rust编写同一程序之后的心得

serenity: Discord API的Rust客户端 #Discord serenity librespot: 开源的Spotify客户端 #Spotify librespot 「Redox编程之夏博客系列」:为Redox OS实现ptrace Part 2 #RSoC 目前是本系列第三篇。 ptrace (process trace)系统调用通常与调试相关,它是本地调试...

Rust语言学习交流 2011

初识Rust

初识Rust,进来看看

yasinawolaopo的博客 672

Rust 日报】2022-07-03 memmap2-rs:用于内存映射IO的跨平台Rust API

memmap2-rs:用于内存映射IO的跨平台Rust API是 memmap-rs 的 folk,前者已经 4 年没再更新。特性包括:file-backend 内存映射匿名内存映射同步和异步 flushcopy-on-write 内存映射只读内存映射支持栈(Unix 上的 MAP_STACK)可执行内存映射GitHub:https://github.com/RazrFa...

Rust语言学习交流 778

【图书介绍】《Rust编程与项目实战》

Rust是一门系统编程语言,专注于安全,尤其是并发安全,它也是支持函数式、命令式以及泛型等编程范式的多范式语言。标准Rust在语法和性能上和标准C++类似,设计者可以在保证性能的同时提供更好的内存安全。本书详解Rust编程技巧,配套示例源码、PPT课件、作者QQ答疑服务。

夏天又到了的专栏 1486

rust计算机,Rust

走进 Rust:Drop trait实现 Drop实现Drop trait用于手动清理某个值,例如锁。struct CustomSmartPointer {data: String,2020-08-25,阅读:362,评论:0,点赞:0,标签:Rust走进 Rust:迭代器遍历求和iter()获取迭代器,sum()求和。#[test]fn iterator_sum() {let v1 = vec!...

weixin_27180827的博客 365

Rust日报】 《Tree Borrows》 - 杰出论文奖

我们利用这些额外的时间进行了形式化证明 ,证明 Tree Borrows 确实能够实现我们希望实现的一些优化,并在 crates.io 上下载次数最多的 3 万个 crate 上对 Tree Borrows 进行了广泛的评估。这种翻译工作量很大。总的来说,TOML v0.9 不仅在性能上取得了突破,还在功能和兼容性上进行了全面的提升,为 Rust 生态系统中的配置管理提供了更强大的工具。此外,TOML v0.9 还改进了错误恢复机制,支持更大的整数类型,并提供了更灵活的解析选项,以适应不同的使用场景。

Rust语言学习交流 1006

微软爱上 Rust

架构师大咖 架构师大咖,打造有价值的架构师交流平台。分享架构师干货、教程、课程、资讯。架构师大咖,每日推送。公众号该公众号已被封禁转自:OSC开源社区(ID:oschina2013)Windows 11 上周发布了新的测试版 (Insider Preview Build 25905)。发布公告提到此版本已经使用 Ru...

<sdffdsfsdfdfs>sfsfsfsdfsdffds</sdfsDS>Fsd 221
上一篇: 06_变量与可变性
下一篇: 08_Rust中的函数
Cukor丘克
博客等级 码龄6年 107粉丝 · 71原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值