03|变量与数据类型

本章介绍的数据类型都是rust中的基本数据类型。

本章介绍的数据类型都是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);
}
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
billchen-818
billchen-818
0x5652...DbDE
江湖只有他的大名,没有他的介绍。