库合约是一种特殊的合约,为了提升Solidity
代码的复用性和减少gas
而存在。
使用库合约两种方式:
- 利用using for指令
- 通过库合约名称调用函数
// 以使用Strings库合约为例:
contract Helloworld {
using Strings for uint;
// 两种调用库合约方式
// 方式一(常用)
function hello(uint _num) external pure returns (string memory) {
return _num.toString();
}
// 方式二
function hello2(uint _num) external pure returns (string memory) {
return Strings.toString(_num);
}
}
- 不能存在状态变量
- 不能够继承或被继承
- 不能接收以太币
- 不可以被销毁