当前位置:   article > 正文

rust编程-通用编程概念(chapter 3.2 & 3.3 数据类型和函数)_f32数据类型

f32数据类型

目录

2. 数据类型

2.2 复合类型

3. 函数


2. 数据类型

Rust中的所有值都是有特定数据类型的,rust是强类型语言,也是静态类型语言(编译器类型必须确定)。

编译器可以根据值来进行类型推断,但对有歧义的,必须指定特定的类型。

例如:

let guess: u32 = "42".parse().expect("Not a number!");

如果不指定guess类型,编译器报错如下:

  1. # cargo build
  2. Compiling no_type_annotations v0.1.0 (file:///projects/no_type_annotations)
  3. error[E0282]: type annotations needed
  4. --> src/main.rs:2:9
  5. |
  6. 2 | let guess = "42".parse().expect("Not a number!");
  7. | ^^^^^ consider giving `guess` a type
  8. For more information about this error, try `rustc --explain E0282`.
  9. error: could not compile `no_type_annotations` due to previous error

2.1 标量类型

标量指单值类型,rust有四种主要的标量类型如下:

  • 整型

无小数部分的数字就是整型,rust支持下表的整型类型:

长度

有符号

无符号

8位

i8

u8

16位

i16

u16

32位

i32

u32

64位

i64

u64

128位

i128

u128

特定架构

相关

isize

usize

每类长度的整型都分为有符号和无符号类型,有符号类型可以是负值。整型在内存中以补码的格式存储。

isize和usize类型的大小依赖于处理器硬件架构,在64位架构上是64位长,在32位架构上是32位长。isize和usize主要应用场景是集合的索引。

Rust编程对整型字面常量的书写方式支持后缀标识类型 ,例如:57u8,表示u8类型的57整型值;支持单下划线_ 用来分割数字,例如:1_000,表示数字1000;支持前缀标识进制 ,例如:0o89,表示8进制数字89。如下表:

Number literals

Example

Decimal

98_222

Hex

0xff

Octal

0o77

Binary

0b1111_0000

Byte (u8 only)

b'A'

  • 浮点型

Rust有两种浮点类型,f32和f64, 分别是32位和64位,浮点数都是有符号的。单精度的f32和双精度的f64的浮点型,在内存中表示格式都采用IEEE754格式。

  1. fn main() {
  2. let x = 2.0; // f64
  3. let y: f32 = 3.0; // f32
  4. }
  • boolean类型

如大多数编程语言,Rust boolean类型有true和false 两个值,在存储上,rust使用1个字节。定义如下:

  1. fn main() {
  2. let t = true;
  3. let f: bool = false; // with explicit type annotation
  4. }
  • 字符类型

Rust用单引号指定字符字面量,用双引号指定字符串字面量。

Rust的char类型大小为4个字节, 表示Unicode标量值,可以表示ASCII以及ASCII之外的多种字符。例如:重音字母、中文、日文、韩文,emoji等,都是Rust中的有效字符值。Unicode标量值范围从U+0000到U+D7FF和U+E000到U+10FFFF包括在内。然而,“字符”在Unicode中并不是一个真正的概念,因此您对“字符”的直觉认识可能与Rust中的字符不匹配。我们将在第8章的“使用字符串存储UTF-8编码文本”中详细讨论这个主题。

  1. fn main() {
  2. let c = 'z';
  3. let z = 'ℤ';
  4. let heart_eyed_cat = '
    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/847214
    推荐阅读
    相关标签