Skip to content

黄一笑|旅客驿站

生活不止,学习不止。

  • Home
  • 学习笔记
  • CPA学习笔记
  • Landing Page
  • Toggle search form

Rust数据类型

Posted on September 30, 2022October 1, 2022 By admin No Comments on Rust数据类型

这里是关于Rust的数据类型的笔记

整数类型:

  • 整数类型没有小数部分
  • 例如u32就是一个无符号的整数类型,占据32位的空间
  • 无符号整数类型以u开头
  • 有符号整数类型以i开头
  • 如果在不确定的情况下,可以使用系统的默认数值i32

2.整数溢出:

例如:u8的范围是0-255,如果你把一个u8变量设置为256,那么会发生下面的情况:

  • 调试模式下编译,Rust会检查整数溢出,如果发生溢出,程序在运行时就会panic
  • 如果在发布模式下(Cargo build –release)编译,Rust不会检查可能导致panic的整数的溢出。
    • 如果发生了溢出,Rust会执行环绕操作,256变成了0,257变成了1,以此类推.

浮点类型:

Rust有两种基础的浮点类型,也就是包含小数部分的类型

  • f32,32位,单精度
  • f64,64位,双精度
  • f64是默认类型,因为在现代cpu上f64和f32的速度差不多,而且精度更高

注意:浮点和整数不能放在一起运算,如果运算就会panic。下面是一个例子:

    let num1 = 3.2;
    let num2 = 3;
    let num3 = num1 * num2;
    println!("num1是等于{}",num3);

这里num1是一个浮点类型,f64. 而num2是一个整数类型,让这两者想乘。运行下,就发现系统就报错了。

  布尔类型:

bool,就是只有两个值,true or false,一般用在判断语句里面。

字符类型:

  • Rust语言中,char类型被用来描述语言中最基础的单个字符
  • 字符类型的字面值使用引用号,一个数值占用4字节大小。是unicode标量值,可以显示,拼音,中日韩文,零长度的空白字符,甚至是emoji表情。

复合类型:元祖,和数祖

元祖(Tuple)的长度是固定的,一旦创建了,就不能修改了。

创建Tuple只需要在小括号里,将值用逗号分开,并且Tiuple中的每一个位置,对应一个类型。而且,各元素的类型也可以不一样。代码可以参考如下,

let tup:(i32,f64,u8) = (500,6.4,1);
println!("{}, {},{},",tup.0,tup.1,tup.2);

元素结构的代码:destructure

let tup:(i32,f64,u8) = (500,6.4,1);
let (x,y,z) = tup;
println!("{},{},{},”,x,y,z);

那么如何访问Tuple的元素呢?可以使用点标记法,就是上面类似的tup.0

数组

声明一个数组,就是在中括号里,各值用逗号分开.数组中的各个数值必须是同一个类型。

let a = [1,2,3,4,5]  // let a:[i32;5] = [1,2,3,4,5]

另外一个声明数组的方式

如果数组的每一个元素都相同,那么可以在中括号指定初始值,然后是一个”;”,紧跟着数组的长度

let a = [3;5] 他就是相当于 let a =[3,3,3,3,3]

那么数组的用处在哪里呢?如果你想让你的数据放在stack上而不是heap上,或者想保证有固定的数量的元素,这是使用数组会更有好处。但是还有一个选项Vector。Vector更加灵活,而且长度可以变。如果你不确定的情况下,更多的是选择Vector

访问数值,month = year[0]

如果访问的索引超出数值的范围,那么编译会通过,但是运行会报错。

学习笔记, 编程学习 Tags:Rust

Post navigation

Previous Post: Rust的常量
Next Post: isnull 提高效率

Related Posts

How to cancel Quickbooks 学习笔记
Rust函数返回值 学习笔记
Go的指针学习笔记 学习笔记
Rust的循环 学习笔记
Rust所有权 学习笔记
Rust的常量 学习笔记

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Archives

  • February 2023
  • October 2022
  • September 2022

Categories

  • CPA学习笔记
  • ERPNext
  • FAR
  • SQL笔记
  • 学习笔记
  • 编程学习

Recent Posts

  • How to cancel Quickbooks
  • Go的指针学习笔记
  • ERPNext 14 Naming Series
  • Treasury Stock
  • Accumulated other comprehensive income (AOCI)

Recent Comments

No comments to show.

AOCI Benefit plan Equity FAR Go ISNULL Quickbook Rust SQL Treasury Stock 常量 循环 所有权 指针 注释


  • CPA学习笔记
  • ERPNext
  • FAR
  • SQL笔记
  • 学习笔记
  • 编程学习

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org

Copyright © 2023 黄一笑|旅客驿站.

Powered by PressBook Masonry Blogs