假设我们有一个项目使用一些仅用于测试的第三方模块(或库,如果你愿意)(即。github.com/stretchr/testify)。所以我们最终会得到go.mod这样的文件:
module example.org/myapp
go 1.13
require (
...
github.com/go-resty/resty/v2 v2.2.0
github.com/gorilla/mux v1.7.4
github.com/stretchr/testify v1.3.0
...
)
正如我所看到的,用于生产代码的模块和仅用于测试的 testify 之间没有区别(即不像在 Java 中我们有依赖范围test等compile)所以 golang 编译器如何知道不需要哪个依赖对于运行时并且可以在编译的二进制文件中省略?
慕尼黑5688855
相关分类