【发布时间】:2022-02-04 03:35:36
【问题描述】:
在 Go 中,如何将代码标记为已弃用,以便用户在使用时收到警告?
【问题讨论】:
标签: go
在 Go 中,如何将代码标记为已弃用,以便用户在使用时收到警告?
【问题讨论】:
标签: go
Godoc: documenting Go code 表示将代码标记为已弃用:
要表示不应使用标识符,请在其文档注释中添加一个以“已弃用:”开头的段落,后跟有关弃用的一些信息。
文档站点pkg.go.dev 在单击“显示”按钮后隐藏了已弃用标识符的文档。
staticcheck 工具报告使用了已弃用的标识符(请参阅 SA1019)。
有一个golint issue for reporting use of deprecated identifiers。
【讨论】:
jpeg/Reader 中使用此模式:golang.org/src/image/jpeg/reader.go?s=2840:2891#L83 稍后,可以更新诸如 godoc 和 golint 之类的分析器工具来检测这种情况,就像使用 Bug 一样文档定义:godoc.org/golang.org/x/tools/cmd/godoc(参见-notes 选项)。 BUGS 和 TODO 通常不会出现在文档中,除非您传递该标志和选项。
staticcheck 存在并将执行此检查,如 SA1019
将此注释添加到您的函数/结构 // 已弃用:FunctionName 已弃用。
【讨论】:
// deprecated 注释前面的行或定义的同一行对我有用。
Go 编译器不支持此功能(5g/6g/8g 和 gccgo 都不支持)。
据我所知,目前还没有代码检查工具。
唯一的方法是将弃用警告放在文档中,或者干脆删除代码。
【讨论】:
您也可以在 stdout / stderr 上打印一行,说“此方法已弃用!”每次调用不推荐使用的方法时。您还可以包含有关用户应如何更正此问题的提示。
【讨论】: