Golang条件编译

条件编译

简介

      条件编译指的是只编译满足条件的代码段。
      很多情况下我们的程序需要根据不同阶段、不同的使用场景做对应的设置或约束,代码中如果写了太多的判断逻辑会显得非常冗余,且可读性、可维护性也比较差,程序体积也会增加。若采用条件编译,只编译满足条件的代码段,则可以有效地避免到处写相同的判断逻辑程序体积也能够显著减小(打个比方:if…else if…else 这3个分支的逻辑仅编译满足条件的分支逻辑)。
      举个例子
      某系统设计了两种模式,一种是普通模式,另一种是安全模式,系统同时只能使用一种模式。普通模式密码直接用md5,而安全模式密码用aes加密算法。这时候如果在代码里面判断当前模式再做对应的处理,可以实现目的,但不够优雅,若后续很多地方依赖于密码操作,则到处都需要先判断模式再做密码处理,写了不少冗余代码不说,还降低了可读性和可维护性(后续如有更多模式,还得到处修改),项目体积也增大了。
      如果基于条件编译来构建代码,则根本不用到处写判断,只需要根据不同模式划分文件,不同模式外层调用逻辑相同但底层的逻辑不同,对于调用层而言调用的是相同的常量、变量、函数,但是由于条件编译的关系在编译期已经根据条件编译了对应的代码,此时调用层就能够根据需要去调用并执行对应的逻辑。就解决了上述到处写判断逻辑的各种问题。

说明

Golang中通过在.
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值