Gas 优化大师课编译器优化模块导读编译器优化 比较条件、循环、运算符、可见性和编译器配置的 Gas 差异。 已知以下技巧可以提高 Solidity 编译器的 Gas 效率。然而,预计 Solidity 编译器会随着时间的推移而改进,这些技巧的效果会逐渐减弱,甚至适得其反。您不应盲目使用此处列出的技巧,而应同时对两种方案进行基准测试。其中一些技巧在使用—via-ir编译器标志时已被编译器集成,甚至可能在使用该标志时降低代码效率。基准测试。务必进行基准测试。 文章目录 条件优化:>= 还是 > 条件优化:使用 ! 代替 == 判断 待验证:无符号整数使用 != 0 代替 > 0 条件优化:短路布尔值 条件优化:拆分与返回关联的布尔表达式 适当使用unchecked Do-While 替换 for 展开循环 频繁使用的函数名 通过哈希比较数组和字符串 使用 ++i 替换 i++ 使用位移替换乘除运算 n * n * n替换n 3 合理使用 private 和 internal x = x + y 与 x += y 使用枚举而不是字符串 编译器优化器设置 查找表 预编译合约 始终使用命名返回 待验证:selfbalance 与 address(this).balance条件优化:>= 还是 >