复合型别是指多个数值组为一个型别
Rust 有两个基本复合型别
元组型别是指将多个不同型别组成一个复合型别
固定长度,宣告好就无法增减长度
每一格都是一个独立型别
// 宣告时就指定型别
let tup: (i32, f64, u8, &str) = (1, 3.1417, 1, "hello");
// 自动判断型别的宣告方式
let tup = (1, 3.1417, 1, "hello");
println!("{:?}", tup);
输出
(1, 3.1417, 1, "hello")
// 多维元组
let tup = ("1", ("2", ("3")));
元组也可以透过解构(destructuring)拆分各个型别
let tup: (i32, f64, u8, &str) = (1, 3.1417, 1, "hello");
// 解构成各个变数
let (a, b, c, d) = tup;
println!("{} {} {} {}", a, b, c, d);
输出
1 3.1417 1 hello
也可以透过"."再加上索引位置来取得元组内的值
let tup: (i32, f64, u8, &str) = (1, 3.1417, 1, "hello");
// 索引从0开始
println!("{} {} {} {}", tup.0, tup.1, tup.2, tup.3);
输出
1 3.1417 1 hello
和元组一样固定长度,差别是阵列中的型别必须要一样的
// 宣告时指定型别和长度i32是型别;之後的5是阵列的长度
let array: [i32; 5] = [1, 2, 3, 4, 5];
// 自动判断型别的宣告方式
let array = [1, 2, 3, 4, 5];
// 简化的宣告方式,阵列里全是hello长度为5
let array = ["hello"; 5];
透果索引位址取值的方式
let a = [1, 2, 3, 4, 5];
println!("{} {} {} {} {}", a[0], a[1], a[2], a[3], a[4]);
输出
1 2 3 4 5
<<: [Day 17] JS - 冒泡事件 (Event Bubbling)
>>: Day17:图形搜寻-贝尔曼-福特演算法(Bellman-Ford algorithm)
继续谈谈 model 昨天提到 Django 的 model 好处是可以无痛转移在各个 Python...
前言 我始终鼓励所有人与团队建立执行 Side project 的习惯,它可以为我们带来许多好处,在...
今天是 Composite 单元的最後一篇,既前两篇看了基本属性、建构方法後,最後一篇要来看 Com...
感觉要有始有终,排行榜要发完! 每日铁人赛热门 Top 10 (1014) 以 10/14 20:0...
当想要比较两人的强弱时 通常比较过去结果很容易受到各因素干扰 如果可以直接量化两人的表现 就可以直接...