Skip to main content

WTF Cairo极简教程: 6. 元组 Tuple

我最近在学cairo-lang,巩固一下细节,也写一个WTF Cairo极简教程,供小白们使用。教程基于cairo 2.2.0版本。

推特:@0xAA_Science@WTFAcademy_

WTF Academy 社群:Discord微信群官网 wtf.academy

所有代码和教程开源在 github: github.com/WTFAcademy/WTF-Cairo


在本章中,我们将介绍在Cairo中如何使用元组,包括将元组作为函数参数和返回值。

元组

元组是由不同类型的值组成的集合。元组使用圆括号(),构造,每个元组本身都是具有类型签名(T1T2,...)的值,其中T1T2是其成员的类型。函数可以使用元组返回多个值,因为元组可以容纳任意数量的值。

以下是reverse()函数的示例。它接受具有u32bool类型参数的元组,并返回具有倒序的另一个元组。

#[starknet::contract]
mod tuple_reverse {
#[storage]
struct Storage{
}

// 元组可用作函数参数和返回值。
#[external(v0)]
fn reverse(self: @ContractState, pair: (u32, bool)) -> (bool, u32) {
// 解包:可以使用 `let` 将元组的成员绑定到变量。
let (integer, boolean) = pair;
return (boolean, integer);
}
}

总结

在本章中,我们介绍了在 Cairo 中使用元组,涵盖了将元组作为函数参数和返回值的用法,以及如何解包它们。