元组(tuple)是一个有趣的数组组合,为了方便多个数据统一赋值使用,避免额外建立临时结构体或者对象的开销,也简化一些逻辑代码的编写。 tuple是一种数据结构,可以存储多个元素,尽管元素可以是不同的数据类型,在某些时候,函数返回值可能超过一个类型,tuple很好地解决了这个问题。例如,加法会返回sum和overflow标志。支持元组的编程语言并不多,C#/Python/Swift/Rust 等语言都支持元组。
支持元组的语言
- C#/Python/Swift/Rust/C++11/仓颉 等都支持元组。
- C# 7.0.
- C/ObjC/Java/PHP没有内置元组。
可以用结构体模拟元组。
元组的基本特性
- 长度不可变,元组内容不可变。注意,是元组的内容不可变,元组整体所代表的变量是可被重新赋值的。
元组的初始化和使用
- C# 在.NET Framework 4.0就有Tuple,但创建方式有点复杂,C# 7.0引入ValueTuple,创建更方便。
例如创建result元组: (int, string) result = (1, "OK"); 可通过result.Item1和result.Item2访问两个元素的值。- (int age, string name) = (20, "Bob");
- (int age, string name) p = (21, "Alice");
- int age; string name; (age, name) = (22, "Charlie");
- var p = (23, "Ken");
- Swift 创建元组:
let result = (ret: 1, err_info: "OK")
print(result.ret, result.err_info)
