pragma solidity ^0.8.0;
contract SchoolGreetings {
address public principal;
event GreetingReceived(string greeting);
constructor(address _principal) {
principal = _principal;
}
function greetPrincipal() public returns (string memory) {
require(principal != address(0), "Principal address is not set");
emit GreetingReceived("Hello Principal!");
return "Hello, how can I help you?";
}
}
- 我們有一個智能合約,名為
SchoolGreetings
,其中有一個函式 greetPrincipal
用於向校長打招呼,並獲取他的回應。 - 函式首先檢查校長地址是否已設置,如果未設置則拋出異常。
- 函式觸發一個事件,表示向校長打招呼。
- 函式使用
return
返回一個包含校長回應的字符串。 - 當我們用 Solidity 中的
return
關鍵字時,我們可以想像成是和校長打招呼後,得到了一個回應。在 Solidity 中,return
用於從函式中返回數據給調用者。