Skip to content

Latest commit

 

History

History

06_Tuple

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
title tags
06. 元组 Tuple
cairo
starknet
tuple

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是其成员的类型。

对于一个元组,可以使用模式相同的多个变量来解构这个元组,或是在声明元组时指明值和类型并同时进行解包。

函数可以使用元组返回多个值,因为元组可以容纳任意数量的值。

值得注意的一点是,当元组被声明后,其容纳变量的数量和类型就无法再进行改变。

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

#[external(v0)]
fn tuple(self: @ContractState)->(bool,u32) {
    let (x, y):(u32, bool) = (1, true);
    let (boolean, integer)=reverse((x,y));
    return (boolean, integer);
}

总结

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