首页 > 其他分享 >Rust学习笔记——基础篇3:数据类型

Rust学习笔记——基础篇3:数据类型

时间:2023-05-28 16:34:19浏览次数:44  
标签:浮点数 数据类型 笔记 let 数组 bit Rust

数据类型

整数类型

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

整数型的表述方式

进制
十进制 98_222
十六进制 0xff
八进制 0o77
二进制 0b1111_0000
字节(只能表示 u8 型) b'A'

浮点数类型(就是小数啦)

  • f32 : 32位浮点数
  • f64 : 64位浮点数(精度更高)

数学运算

Rust的数学运算和C语言类似,但是没有++--

fn main() {
    let mut a = 1 + 1; // 加
    let b = 2 - 1; // 减
    let c = 3 * 2; // 乘
    let d = 4 / 2; // 除
    let e = 4 % 2; // 取余
    a += 1; // 等价于a = a + 1
}

布尔型

bool声明,值只能是truefalse

字符型

char声明,大小为4字节,支持中文(Rust中必须使用UTF-8编码

复合类型

元组

元组是用一对()包括的一组数据,可以包含不同种类的数据:

fn main() {
    let a : (u32, f32, char) = (114, 3.14, 'a');
    let (x, y, z) = a;
    println!("x = {x}, y = {y}, z = {z}");
}

运行结果:
x = 114, y = 3.14, z = a

数组

数组用一对[]包括的同类型数据:

let a = [1, 2, 3, 4];
// a 是一个长度为 4 的整型数组

let b = ["a", "bb", "ccc"];
// b 是一个长度为 3 的字符串数组

let c: [i64; 5] = [1, 2, 3, 4, 5];
// c 是一个长度为 5 的 i64 数组

let d = [1; 3];
// 等同于 let d = [1, 1, 1];

let first = a[0];
let second = a[1];
// 数组访问

a[0] = 123; // 错误:数组 a 不可变
let mut a = [1, 2, 3];
a[0] = 4; // 正确

标签:浮点数,数据类型,笔记,let,数组,bit,Rust
From: https://www.cnblogs.com/fstx/p/17438387.html

相关文章

  • CAN笔记
    一、为什么需要总线1、人类需要交换信息的时候可以通过语言、文字,机器、电器设备之间需要交流该如何呢?是的需要一门他们能够读懂的语言,那就是通信协议,这也是在最早的汽车上都是使用了大量的线束,后来慢慢的通过各类的总线进行信息的交换。2、人类的交流手段:文字、语言、动作->......
  • 用CRU给笔记本显示器超频刷新率
    https://www.monitortests.com/forum/Thread-Custom-Resolution-Utility-CRU1、下载下来解压后得到4个文件,双击CRU 2、点击Add3、在RefreshRate后面改超频刷新率,然后点OK 4、回到4个文件那里,双击restart64(你是32位系统就双击restart)5、等电脑闪屏后,重启电脑。(不重启......
  • HCIP学习笔记-云安全服务规划-6
    1.云上安全设计以及华为云安全体系1.1为什么要关注云上安全CSA:CloudSecurityAlliance,云安全联盟1.2云上企业安全诉求1.3五大安全维度应对云上安全诉求1.4华为云安全服务全景2.工作负载安全2.1企业主机安全HSS管理控制台是可视化的管理平台,便于用户集中下发配置信息,查看在同......
  • babylon.js 学习笔记(6)
    接上回继续,今天继续捣腾动画,上一节咱们让汽车的轮子动了起来,回顾一下核心代码://轮子转动constwheelAnimation=(scene,wheels)=>{//定义一个动画,每秒30帧,绕y轴转动constanimWheel=newBABYLON.Animation("wheelAnimation","rotation.y",30,BABYLO......
  • 【python基础】基本数据类型-字符串类型
    1.初识字符串字符串就是一系列字符。在python中,用引号括起来文本内容的都是字符串。其语法格式为:‘文本内容’或者“文本内容”我们发现其中的引号可以是单引号,也可以是双引号。这样的灵活性可以使我们进行引号之间的嵌套。编写程序如下所示:运行结果如下所示我们可以发现......
  • 「外出学习」数论学习笔记
    取模\[(1)\quad5\div3=1\cdots2\\a=b\cdotc+d\\(2)\quada\divb=c\cdotsd\\b>d\ge0\\(3)\quada,b,c=a/b,d=a\bmodb\\(4)\quad(a+b)\bmodc=[a\bmodc+b\bmodc]\bmodc\\a=x\cdot......
  • Rust Web 全栈开发之自建TCP、HTTP Server
    RustWeb全栈开发之自建TCP、HTTPServer课程简介预备知识Rust编程语言入门https://www.bilibili.com/video/BV1hp4y1k7SV课程主要内容WebService服务器端WebApp客户端WebApp(WebAssembly)Web框架:Actix数据库:PostgreSQL数据库连接:SQLx全部使用纯Rust编写!一......
  • FFT学习笔记
    fft.1单位根的性质\[1.w^{dk}_{dN}=w^k_N\]\[2.\frac{1}{\omega_k}=\omega_k^{-1}=e^{-\frac{2\pii}{k}}=\cos\left(\frac{2\pi}{k}\right)+i\cdot\sin\left(-\frac{2\pi}{k}\right)\]递归求解\(F[\)\(]\)=\(1\)\(2\)\(3\)\(4\)\(5\)......
  • C#学习笔记 -- 匿名方法、Lambda表达式
    匿名方法前面的情况是方法被某个结构或者类的成员,可以调用方法如果方法只调用一次,用来实例化委托,在这种情况下,除了创建委托的语法需要,没有必要创建独立的具名方法,使用匿名方法即可匿名方法是实例化委托时内联声明的方法.classProgram{  delegatei......
  • python自学笔记
    变量类型:整型int,字符串str,浮点型float;算术运算:+、-、*、/、%、**(乘方)、//(整除);逻辑运算:not、and、or;布尔类型:True、False;比较运算:>、>=、<、<=、==、!=;变量命名规则:字母+数字+下划线、区分大小写、数字不开头、不能用空格、不能用保留字;输入input()、输出print();字符串拼接:prin......