3
A
回答
7
修飾符允許您將附加功能包裝到方法中,因此它們有點像OOP中的修飾器模式。
修飾符通常用於智能合約中,以確保在繼續執行方法中的其他代碼體之前滿足某些條件。
例如,isOwner
經常被用來確保該方法的調用者是合同的業主:
modifier isOwner() {
if (msg.sender != owner) {
throw;
}
_; // continue executing rest of method body
}
doSomething() isOwner {
// will first check if caller is owner
// code
}
您還可以堆疊多個修飾符來簡化你的程序:
enum State { Created, Locked, Inactive }
modifier isState(State _state) {
require(state == _state);
_; // run rest of code
}
modifier cleanUp() {
_; // finish running rest of method body
// clean up code
}
doSomething() isOwner isState(State.Created) cleanUp {
// code
}
修飾符用聲明和可讀的方式表示正在發生的操作。
相關問題
- 1. 未知修飾符'/'在...?它是什麼?
- 2. >>操作符/操作數/修飾符是做什麼的?
- 3. 屬性訪問修飾符;爲什麼以下工作沒有?
- 4. 什麼是訪問修飾符
- 5. 什麼是正確的修飾符?
- 6. 訪問修飾符 - 目的是什麼?
- 7. VB.NET:'friend'修飾符做了什麼?
- 8. h用作長度修飾符的縮寫是什麼?
- 9. 爲什麼我的url修飾符不起作用?
- 10. 什麼時候在PHP中使用靜態修飾符
- 11. 什麼時候在java中使用transient修飾符?
- 12. 爲什麼要在servlet中使用public修飾符
- 13. 創建EventHandler時使用靜態修飾符有什麼意義?
- 14. 訪問說明符和訪問修飾符有什麼區別?
- 15. 在C++中沒有修飾符的RegisterHotKey
- 16. 在TypeScript的函數中使用靜態修飾符有什麼好處嗎?
- 17. 什麼時候在java中包私有(沒有顯式修飾)?
- 18. Typescript中公共類訪問修飾符的用途是什麼?
- 19. 訪問修飾符「protected private」在visual C++中做什麼?
- 20. 爲什麼在這段代碼中需要靜態修飾符?
- 21. 最終修飾符在Dart中做了什麼?
- 22. Java:爲什麼構造函數具有訪問修飾符?
- 23. 什麼時候AWT(擴展)修飾符保證有效?
- 24. ByRef和Output方法參數修飾符有什麼區別?
- 25. 界面成員爲什麼沒有訪問修飾符?
- 26. 爲什麼oop語言沒有「只讀」訪問修飾符?
- 27. 爲什麼python對常量沒有任何訪問修飾符?
- 28. 爲什麼沒有「外部」訪問修飾符?
- 29. 爲什麼要在Java中使用訪問說明符/修飾符?
- 30. 爲什麼Java中的所有中間點擊報告具有Alt修飾符?