Rust之复合数据类型tuple

复合数据类型可以在其他类型的基础上形成更复杂的组合关系


常见的有tuple、struct、enum等


tuple指的是元组类型

它通过圆括号包含一组表达式构成

tuple内的元素没有名字

tuple是把几个类型组合到一起的最简单的方式


fn main(){
    println!("{}"," Hello Tuple");

    // 元组中包含两个元素,第1个是i32类型,第2个是bool类型
    let a =(1i32, false);

    // 元组中包含两个元素,第2个元素本身也是元组,它又包含了两个元素
    let b = ("a", (1i32, 2i32));

    // 如果元组中只包含了一个元素,应该在后面添加一个逗号,以区分括号表达式和元组
    // c是一个元组,它有一个元素
    let c =(0,);
    // d是一个括号表达式,它是i32类型
    let d = (0);

    // 访问元组内部元素有两种方法,一种是模式匹配,另外一种是数字索引
    let p = (10i32, 20i32);
    let (m, n) = p;

    let x =p.0;
    let y = p.1;

    println!("{} {} {} {}", m, n, x, y);

    // 在元组内部也可以一个元素都没有,这个类型单独有一个名字,叫unit单元类型
    // 可以说,unit类型是rust中最简单的类型之一,也是占用空间最小的类型之一。
    // 空元组和空结构体struct Foo;一样,都是占用0内存空间
    let empty : () = ();

    println!("size of i8 {}", std::mem::size_of::<i8>());
    println!("size of char {}", std::mem::size_of::<char>());
    println!("size of '()' {}", std::mem::size_of::<()>());

    // std::mem::size_of函数可以计算一个类型所占用的内存空间,可以看到,i8类型占用1 byte,char类型占用4bytes,空元组占用0byte

}

enjoy

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值