登录
首页 >  Golang >  Go问答

特定于操作系统的Golang软件包

来源:stackoverflow

时间:2024-02-07 15:18:23 246浏览 收藏

最近发现不少小伙伴都对Golang很感兴趣,所以今天继续给大家介绍Golang相关的知识,本文《特定于操作系统的Golang软件包》主要内容涉及到等等知识点,希望能帮到你!当然如果阅读本文时存在不同想法,可以在评论中表达,但是请勿使用过激的措辞~

问题内容

虽然我了解到我可以使用 go build 标签 (// +build windows) 或文件名后缀 (source_windows.go) 来制作特定于操作系统的 go 源文件,有没有一种方法可以将所有源文件制作在里面特定于操作系统的包目录?

猜猜:包名 mypackage_windows 是否会使包目录下的所有文件仅适用于 Windows?

如果上述猜测不起作用,我是否必须进行额外的间接级别,例如 mypackage_usecase_windows.go,其中包含相应的导入语句:import "mymodule/mypackage_windows"


正确答案


不,唯一的方法是使该包内的所有文件都遵循文件名模式或其中包含所需的 build constraints。基于 build constraints 的文件名模式仅适用于源文件级别。

使用操作系统或架构特定的代码来拥有和维护相同 mypackage 的 N 个实现没有多大意义。当前的工具为您提供了一种方法来拥有一个 mypackage 并根据操作系统或架构决定如何实现其功能(在该包内的平台特定源文件中)。

以上就是《特定于操作系统的Golang软件包》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>