function temp() public view returns (string) {
}
view修饰符表示函数数据不可更改,只可以读,returns修饰符表示该函数具有返回值,后面的括号内容为返回值类型。
function _multiply(uint a, uint b) private pure returns (uint) {
return a * b;
}
pure修饰符不读取应用里的状态, 它的返回值完全取决于它的输入参数
keccak256(_str)
一个散列函数基本上就是把一个字符串转换为一个256位的16进制数字
//对于金融应用程序,将用户的余额保存在一个 uint类型的变量中:
mapping (address => uint) public accountBalance;
//或者可以用来通过userId 存储/查找的用户名
mapping (uint => string) userIdToName
映射本质上是存储和查找数据所用的键-值对。在第一个例子中,键是一个 address,值是一个 uint,在第二个例子中,键是一个uint,值是一个 string
require(msg.sender == 0);
条件验证,若不等于0,直接终止
contract Doge {
function catchphrase() public returns (string) {
return "So Wow CryptoDoge";
}
}
contract BabyDoge is Doge {
function anotherCatchphrase() public returns (string) {
return "Such Moon BabyDoge";
}
}
继承,BabyDoge可以调用Doge中的其他函数
函数修饰符
internal :与private相似,变量可以在子合约中调用
external:函数只能在合约之外调用 - 它们不能被合约内的其他函数调用
接口(interface)
pragma solidity ^0.5.0;
interface Calculator {
function getResult() external view returns(uint);
}
contract Test is Calculator {
constructor() public {}
function getResult() external view returns(uint){
uint a = 1;
uint b = 2;
uint result = a + b;
return result;
}
}