Solidity语言 - 元组 - Rareskills

本文介绍了 Solidity 中的元组(tuple)数据类型,阐述了其基本特征及用法,提供了简单的函数示例,并指出元组可以解包以获取内部变量。此外,还提供了实践问题以帮助读者加深理解。

我们将稍微偏离一下,介绍一下元组(tuple)数据类型,因为这对于接下来的章节是一个前提。

如果你在像 Python 或 Rust 这样的语言中使用过元组,那么这里不会有惊喜。它是一个固定大小的数组,但内部可以是混合类型。

下面是一个返回元组的函数的例子:


contract ExampleContract {

    function getTopLeaderboardScore()
        public
        pure
        returns (address, uint256) {
            return (
                0xd8da6bf26964af9d7eed9e03e53415d37aa96045,
                100
            );
    }
}

 Copied!

请注意,元组是隐含的。“tuple”这个关键字在 Solidity 中并不存在。

元组也可以被“解包”以获取内部的变量,如下面的例子所示。


contract ExampleContract {

    function getTopLeaderboardScore()
        public
        pure
        returns (address, uint256) {
            return (
                0xd8da6bf26964af9d7eed9e03e53415d37aa96045,
                100
            );
    }

    function highestScoreIsOver9000()
        public
        pure
        returns (bool) {
            (address leader, uint256 score) =
                getTopLeaderboardScore();

            if (score > 9000) {
                return true;
            }

            return false;
    }
}

 Copied!

与其他语言一样,元组的长度不必是 2。可以是 3、4 或更长。

练习题

Tupledore

了解更多 RareSkills 的内容

查看我们的 Solidity 培训营,了解更多关于智能合约开发和代币标准的内容。

  • 原文链接: rareskills.io/learn-soli...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
RareSkills
RareSkills
https://www.rareskills.io/