diff --git a/03_Function/readme.md b/03_Function/readme.md index fbea4721..6577456c 100644 --- a/03_Function/readme.md +++ b/03_Function/readme.md @@ -25,7 +25,8 @@ Solidity语言的函数非常灵活,可以进行各种复杂操作。在本教 我们先看一下 Solidity 中函数的形式: ```solidity -function ([parameter types[, ...]]) {internal|external|public|private} [pure|view|payable] [returns ()] +function ([parameter types[, ...]]) {internal|external|public|private} [pure|view|payable] [virtual|override] [] +[returns ()]{ } ``` 看着有一些复杂,让我们从前往后逐个解释(方括号中的是可写可不 @@ -50,7 +51,13 @@ function ([parameter types[, ...]]) {internal|external|public|pri 5. `[pure|view|payable]`:决定函数权限/功能的关键字。`payable`(可支付的)很好理解,带着它的函数,运行的时候可以给合约转入 ETH。`pure` 和 `view` 的介绍见下一节。 -6. `[returns ()]`:函数返回的变量类型和名称。 +6. `[virtual|override]`: 方法是否可以被重写,或者是否是重写方法。`virtual`用在父合约上,标识的方法可以被子合约重写。`override`用在自合约上,表名方法重写了父合约的方法。 + +7. ``: 自定义的修饰器,可以有0个或多个修饰器。 + +8. `[returns ()]`:函数返回的变量类型和名称。 + +9. ``: 函数体。 ## 到底什么是 `Pure` 和`View`?