假设我有一个 Go 项目,它在另一个 Go 项目中充当共享库。如何标记在该项目之外使用的 Go 符号(consts、structs、vars)?
我想根本的问题是我很难知道哪个代码使用了所述符号。
请注意:这不是关于语义版本控制,我非常清楚并且我使用它。我知道 Semver 可以帮助识别重大更改。
相反,这是为了找出我是否真的破坏了我自己的一个项目(相比之下:这个符号应该不被导出或在包外使用)。我正在考虑 Go 中不存在的某种注释。
顺便说一句,IntelliJ 也不知道并将这些符号标记为“不必要的导出”。也许以 IntelliJ 为中心的解决方案就足够了。
为了说明我的问题:
package sharedlib
import "time"
// MyFavoriteTimeFormat is a blablabla...
const MyFavoriteTimeFormat = Time.RFC3339
package dependingproject
import "github.com/thething/sharedlib"
import "time"
func convertToString(timestamp time.Time) string {
return timestamp.Format(sharedlib.MyFavoriteTimeFormat)
}
当我愉快地重命名MyFavoriteTimeFormate并发布它时,代码将在更新依赖项时中断依赖项目。
POPMUISE
相关分类