本文介绍了 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 或更长。
练习题
查看我们的 Solidity 培训营,了解更多关于智能合约开发和代币标准的内容。
158 次观看 ,今天 1 次观看
- 原文链接: rareskills.io/learn-soli...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!