Go的优点和缺点是拒绝未使用的依赖项

Car*_*org 11 dependencies language-design go

Google的新语言Go试图通过明确要求实际使用模块中列出的所有依赖项来简化依赖项管理.编译器将拒绝向模块声明依赖关系的模块,而不使用该模块中的任何内容.

包导入自身或导入包而不引用其任何导出的标识符是非法的.

我可以想到一些明显的优点(例如更清洁的模块),但也许有一些非显而易见的优点.我能想到的唯一缺点是有一个过于迂腐的编译器,在重构过程中抱怨太多,但也许还有更多?

您是否有其他语言执行此操作的经验?这种方法的优点和缺点是什么?

Ran*_*ku' 5

您不仅需要显式使用所有依赖项,还必须使用所有变量.当您有未使用的变量时,编译器会给您错误.

他们很烦人.但它会让别人高兴,因为他们得到了干净的代码.

我想可能Go设计师打算成为一种主要依赖于IDE的语言.

  • 基于IDE的设计为+1.我得出了同样的结论,主要是因为只有目标文件有类似标题的东西,而且Go包含解析Go的模块. (2认同)