03|变量与数据类型
本章介绍的数据类型都是rust中的基本数据类型。
基本数据类型
整型
有符号
- i8:有符号8位整型
- i16:有符号16位整型
- i32:有符号32位整型
- i64:有符号64位整型
- i128:有符号128位整型
- isize:依赖于运行程序的计算机架构,32位架构是32位,64位架构是64位
无符号
-
u8:无符号8位整型
-
u16:无符号16位整型
-
u32:无符号32位整型
-
u64:无符号64位整型
-
u128:无符号128位整型
-
usize:依赖于运行程序的计算机架构,32位架构是32位,64位架构是64位
浮点型
- f32:32位的浮点数类型
- f64:64位的浮点数类型
布尔类型
- bool:布尔类型,true或者false
字符型
- char:字符类型
数组类型
- array:固定长度的数组类型,[T;N] T表示元素类型,N表示表示编译期大小,数组元素个数,,或者数组长度。
函数指针
- fn:函数指针
单元类型
- unit:单元类型,返回这个即可()
指针类型
- pointer:指针类型
引用类型
- reference:引用类型
slice类型
- slice:slice切片类型
str类型
- str:字符串切片
元组类型
- tuple:元组类型
never类型
- never:never类型
变量定义与使用
// datatype.rs
fn main() {
// 定义整型
let ia: i8 = 0;
let ib: i16 = 1;
let ic: i32 = 3;
let id: i64 = 4;
let ie: i128 = 6;
let ua: u8 = 0;
let ub: u16 = 1;
let uc: u32 = 3;
let ud: u64 = 4;
let ue: u128 = 6;
println!("ia = {}, ib = {}, ic = {}, id = {}, ie = {}", ia, ib, ic, id, ie);
println!("ua = {}, ub = {}, uc = {}, ud = {}, ue = {}", ua, ub, uc, ud, ue);
// 定义浮点型
let a_f64: f64 = 12.34;
let a_f32: f32 = 0.12;
println!("a_f64 = {}, a_f32 = {}", a_f64, a_f32);
// 定义布尔
let flag = true;
println!("flag = {}", flag);
// 定义字符类型
let c: char = 'a';
println!("c = {}", c);
// 定义数组
let arr: [i32;2] = [12,23];
println!("arr = {:?}", arr);
// 定义指针类型
let a_source = 32;
let ptr: *const i32 = &a_source;
println!("ptr = {:?}", ptr);
// 定义引用类型
let five = 5;
let other = &five;
println!("five = {}, other = {}", five, other);
// 定义slice切片类型
let vec = vec![1,2,3];
let a_slice = &vec[..];
println!("a_slice = {:?}", a_slice);
// 定义 字符串 str类型
let ss: &'static str = "hello";
println!("ss = {}", ss);
// 定义元组类型
let (a,b,c) = (false, 12, 3.5);
println!("a = {}, b = {}, c = {}", a, b, c);
}
版权声明
本文仅代表作者观点,不代表区块链技术网立场。
本文系作者授权本站发表,未经许可,不得转载。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。