在Solidity智能合约编程中,正确理解和应用return和returns对于控制函数输出至关重要。
### 📜 returns:声明大使
returns这个关键字在Solidity中起到声明作用,它站在函数的门口,告诉世界这个函数将带回什么样的礼物(即返回值类型)。
- returns紧跟在函数定义之后,就像一个声明阵地,列出了迎接的返回类型和名称。
- 当你看到returns的时候,就意味着这个函数有着明确的承诺,它已经给返回值贴上了标签,你不需要另外告诉它具体要返回什么。
### ↩️ return:行动派
相比之下,return则是行动的关键字,在函数体内部大显身手,直截了当地把值送回家。
- return出现在函数体中,它是执行者,拿起具体的货物就奔向出口,确保将它送出。
- 遇到return关键字时,你知道它就是函数实际在返回的值,并且,你可以灵活地控制它返回什么值。
举个例子,如果returns是一个餐厅的菜单,告诉你能吃到什么,那么return就是服务员实际端给你的菜肴。
用实践中常用的语法举例:
// 函数声明时的returns
function calculateSum(uint a, uint b) public returns (uint) {
uint sum = a + b;
// 函数体中的return
return sum;
}
在上面的例子中,returns告诉了调用者这个函数会返回一个uint类型的数值,而return则