Rust语言学习

Rust 数据类型

2020-03-17  本文已影响0人  kaiv2

数据类型

let num: i32; // 明确类型
let num = 10; // 推导出 num 为 i32 类型

rust 是静态类型语言,所有变量在编译时都需要明确类型。

整型

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

数字字面值

数字字面值 例子
Decimal(10进制) 100_000
Hex(16进制) 0xff
Octal(8进制) 0o77
Binary(2进制) 0b1111_0000
Byte (u8 only) b'a'

整型数据溢出

整型数据溢出时,在debug模式下会触发panic

浮点型

f32,f64

数值运算

+,-,*,/,%

let a = 1 + 1;
let b = 1 - 1;
let c = 1 * 1;
let d = 1 / 1;
let f = 1 % 1;

布尔型

bool,布尔型的取值只有两种truefalse

字符类型

char单引号的字符

let c: char = 'a';
let c = '👌';

复合类型

将多个值组合成一个类型,数组或元组

元组类型

let tup: (i32, f32,char) = (1, 32.0, 'a');
let (a, b, c) = tup;
println!("{}", c);
println!("{}", tup.2);

数组类型

let arr = [1, 2, 3, 4, 5]; // 数组类型声明后长度固定
let arr:[i32; 5] = [1, 2, 3, 4, 5];
let a = arr[0];

无效的数组元素访问,会在运行时出错退出

let arr = [1, 2];
let a = arr[10]; // 编译时错误
let index = 10;
let a = arr[index]; // 运行时错误
上一篇下一篇

猜你喜欢

热点阅读