打字猴:1.703876819e+09
1703876819
1703876820 库有许多使用示例。两个主要的示例如下:
1703876821
1703876822 ·如果有许多合约,它们有一些共同代码,则可以把共同代码部署成一个库。这将节省gas,因为gas也依赖于合约的规模。因此,可以把库想象成使用其合约的基础合约。使用基础合约(而非库)切分共同代码不会节省gas,因为在Solidity中,继承通过复制代码工作。由于库被当作基础合约,库里面带有内部可视性的函数被复制给使用它的合约;否则,库里面带有内部可视性的函数不能被使用这个库的合约调用,因为这需要外部调用,而带有内部可视性的函数不能通过外部调用被调用。此外,库里的structs和enums被复制给使用这个库的合约。
1703876823
1703876824 ·库可用于给数据类型添加成员函数。
1703876825
1703876826
1703876827 如果一个库里只包含内部函数和/或structs/enums,则不需要部署库,因为库里面的所有内容都被复制给使用它的合约。
1703876828
1703876829 using for
1703876830
1703876831 using A for B这条指令可用于连接库函数(从库A到任意类型B)。这些函数将被调用的对象作为它们的第一个参数接收。
1703876832
1703876833 using A for*的结果表示来自库A的函数被连接到所有类型。示例如下:
1703876834
1703876835
1703876836
1703876837
1703876838
1703876839
1703876840
1703876841
1703876842
1703876843
1703876844 区块链项目开发指南 [:1703875315]
1703876845 区块链项目开发指南 3.11 返回多值
1703876846
1703876847 Solidity允许函数返回多值(multiple values),示例如下:
1703876848
1703876849
1703876850
1703876851
1703876852
1703876853
1703876854
1703876855
1703876856
1703876857
1703876858 区块链项目开发指南 [:1703875316]
1703876859 区块链项目开发指南 3.12 导入其他Solidity源文件
1703876860
1703876861 Solidity允许一个源文件导入其他源文件,示例如下:
1703876862
1703876863
1703876864
1703876865
1703876866
1703876867
1703876868
[ 上一页 ]  [ :1.703876819e+09 ]  [ 下一页 ]