选择正确的Go Module Path

本文永久链接 – https://tonybai.com/2024/04/09/choose-the-right-go-module-path 最近我在查看项目代码时,注意到有人在go.mod文件中将module path写为com.example.foo了。根据这个写法,相信屏幕前的读者也可以推断出这位开发人员可能是从Java阵营转到Go的。实际开发中可能有很多开发者会使用类似的内容作为module path,但这显然不是Go的推荐写法或惯用法。 ...

April 9, 2024 · 6 min · Tony Bai

一文告诉你当module path为main时执行go test失败的真正原因

本文永久链接 – https://tonybai.com/2023/04/08/the-reason-why-go-test-fails-when-module-path-is-main 近期收到新加入“Gopher部落”知识星球的星友“凌风”的一个问题,内容如下: 在一个目录下,我编写了a.go和a_test.go,在go mod init main后执行go test,会报错:could not import main( can not import "main")。我知道它的解决方法是改变包名。我的问题是: 1. 难道无法对 main 包执行包内测试了么。 2. 这里的报错的底层原因是什么。 本文将针对这个问题做一个简要的分析,这将涉及到go module、go package和package import的相关概念以及go test的工作原理等内容。 ...

April 8, 2023 · 9 min · Tony Bai