solidity-7.库(Libraries)

库(Libraries)

库对于调用它的合约来说,有点像父合约,因为合约可以使用库的所有函数。
但是库会部署有地址,被继承的父合约不会部署。

对比普通合约来说,库的差异有:

  • 无状态变量(state variables)。
  • 不能继承或被继承
  • 不能接收ether
  • internal的库函数对所有合约可见

附着库(Using for)

指令using A for B;用来附着库A里定义的函数到任意类型B
其中,需要注意的是

  • B调用库A的函数,函数的第一个参数默认是B的实例。
  • using A for B;指令仅在当前合约的作用域有效

你可能感兴趣的:(solidity-7.库(Libraries))