Skip to content

函数

Solidity 中,函数是一段可执行代码的块,有自己的输入和输出。函数的语法结构如下:

solidity
function functionName(argument1[type], argument2[type]) [accessSpecifier] [view/pure] returns (returnType) {
  // function body
}
  • functionName: 函数名称
  • argument1、argument2:函数的参数,可以有多个参数,并且每个参数都需要指定数据类型。
  • accessSpecifier:函数可访问性,包括 public (公开函数)、private(私有函数)等。
  • view/pure: 修饰词符号,view 表示该函数读取但不修改状态;pure 表示该函数既不读取也不修改状态。
  • returnType:函数返回的数据类型。

示例

以下是一个简单的 Solidity 函数演示,实现两个整数的加法运算:

solidity
pragma solidity ^0.8.0;

contract Addition {
  function addNumbers(uint num1, uint num2) public pure returns (uint sum) {
    sum = num1 + num2;
  }
}

解释:

  • pragma solidity ^0.8.0; :版本声明,指明 Solidity 编译器的版本。
  • contract Addition:定义了一个名为 Addition 的智能合约。
  • function addNumbers:定义了名为 addNumbers 的函数,它有两个无符号整数类型参数 num1、num2
  • public:修饰符 public 表示该函数对外可见。
  • pure:表示该函数不读取和不修改智能合约的状态。
  • returns (uint sum):定义了返回值,类型为无符号整数类型 sum
  • sum = num1 + num2:在函数体中实现了 num1num2 的加法运算,并将结果赋值给 sum

调用该函数的方法为:

solidity
uint result = Addition.addNumbers(2, 3);

这将使 result 等于 5