为了账号安全,请及时绑定邮箱和手机立即绑定

go 和 gwan 未使用的变量

go 和 gwan 未使用的变量

Go
大话西游666 2021-05-19 21:42:42
去编译器抱怨未使用的变量和导入。因此,如果检测到任何未使用的var / script,则无法在gwan中运行go脚本。如果运行...则gwan在这种情况下会提供404错误...否则根本无法启动有办法避免这种行为吗?
查看完整描述

2 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

    没有真正简单的方法。没有什么像编译器标志可以关闭此行为。我猜最好传递编译器首先可以吞下的代码。


编辑:常见问题解答中的C / P:我可以停止有关未使用的变量/导入的这些投诉吗?


未使用的变量的存在可能表明存在错误,而未使用的导入只会减慢编译速度。在代码树中累积足够的未使用导入,事情可能会变得很慢。由于这些原因,Go都不允许。


在开发代码时,通常会临时创建这些情况,并且在程序编译之前不得不对其进行编辑可能很烦人。


有些人要求使用编译器选项来关闭这些检查或至少将其减少为警告。但是,由于编译器选项不应影响语言的语义,并且因为Go编译器不报告警告,因此仅添加阻止编译的错误,因此未添加该选项。


没有警告有两个原因。首先,如果值得抱怨,则值得在代码中进行修复。(并且,如果不值得修复,就不值得一提。)其次,让编译器生成警告会鼓励实现对可能会使编译产生噪音的弱情况发出警告,从而掩盖了应修复的实际错误。


不过,解决这种情况很容易。使用空白标识符可以在开发过程中保留未使用的东西。


import "unused"


// This declaration marks the import as used by referencing an

// item from the package.

var _ = unused.Item  // TODO: Delete before committing!


func main() {

        debugData := debug.Profile()

        _ = debugData // Used only during debugging.

        ....

}


查看完整回答
反对 回复 2021-05-31
?
慕村225694

TA贡献1880条经验 获得超4个赞

Go编译器将其"unused variable"视为致命错误。所有其他语言都将其视为警告,因此G-WAN停止运行以使您修复脚本错误。

G-WAN无法为您提供任何帮助:您必须按预期使用Go。


查看完整回答
反对 回复 2021-05-31
  • 2 回答
  • 0 关注
  • 251 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信