学习新时代编程语言Rust-7复合基本数据类型

在上几期中我们学习了 Rust 提供的4中基本单量类型:整数、浮点数、布尔及字符基本数据类型,学习了 if 表达式用于使用条件控制代码流程,我们还编写了一个计算程序用于练习。如果你在完成练习的过程中遇到问题,欢迎通过平台给我们留言。接下来我们开始学习 Rust 提供的复合基本数据类型,也就是可以表示多条数据的类型。
在 Rust 中提供了俩种复合基本类型:第1个大家在数学课上应该都接触过就是数组(Array),第二个在数学课上应该没接触过叫元组(Tuple);
data type
我们先来认识下 Rust 中的数组,在 Rust 中可以是使用中括号括表示一个数组像这样:

        let a = [1, 2, 3, 4, 5];

中括号里的元素用逗号分隔,这样就声明了一个数组类型的变量a,它的值为包含1 ,2,3,4,5 的数组。
我们也可以在变量a的后面使用冒号声明a的类型如:

       let a:[i32; 5] = [1,2 ,3,4,5]

其中 i32 表示数组里包含的元素的类型,5表示数组的长度也就是这个数组可以存放的元素条数。从这个定义形式我们可以看出,1.数组里的元素类型必须一致,要么都是 i32, 要么都是字符串。2.数组的长度是在创建数组时已经固定的。我们在编写代码的时候很多时候并不知道需要存储的元素的个数,怎么办呢?这个时候我们可以使用 Vector, 在编写计算程序的时候使用了一个 Vector 类型的变量存储用户输入的命令行参数, Vector 就是在 Rust 提供的基本数据类型数组的基础上增加可变长度的功能,以应对在某些场景下需要存储不定数量元素的需求。 Vector 是基于数组开发的,这也是为什么数组属于基本数据类型而 Vector 不是。跟 vector 一样我们可以使用下标获取数组里的元素,下标从0开始代表数组里的第1个元素,例如:

  let first = a[0];

变量 first 的值为1也就是数组a的第1个元素。

  let end = a[4];

变量 end 的值为5也就是数组 a 的第5个元素。

如果我们给的下标超过了数组的长度会怎么样的?!如:

   let n = a[6];

这个程序会出现异常,并报一个错误提示我们数组的下标越界了,也就是超出了数组实际的元素数量。
  index out of bounds
学习了数组我们再来学习下另一个复合基本类型元组:在 Rust 中可以使用小括号表示一个元组,跟数组的中括号区别开来。例如:

  let tup = (500, 8.8, 1);

跟数组一样,括号中的元素也是用逗号分隔,跟数组不一样的是元组中的元素可以是不同类型的,你可以把整数和字符同时放到一个元组里。我们也可以在变量的后面使用冒号小括号的方式为元组声明类型,例如:

  let tup:(i32,f64,u8) = (500, 8.8, 1);

跟数组使用下标获取数组中元素一样元组也是使用下标,不一样的是数组使用中括号而元组使用点,就像这样:

        let first = tup.0 ; // 变量 first 的值就是 500 了,也就是元组 tup 的第一个元素

        let end = tup.2 ; // 变量 end 的值就是 1 了,也就是元组 tup 的第 3 个元素

学习了复合基本类型我们来做个练习题:

获取当前的月份,如果是 1 月就输出“现在是一月 ”,如果是 2 月就输出”现在是二月“,依次类推,想一下该怎么编写呢?!

免费进群交流

KeepLearning

内容根据视频整理,相应视频内容可访问

51cto学院:
51cto
网易网校:
网易网校

Others will think of you only as important as you think you are.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个不安分的程序员

祝您财源广进

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值