为了账号安全,请及时绑定邮箱和手机立即绑定

Golang:使整个包操作系统特定

Golang:使整个包操作系统特定

Go
largeQ 2022-12-26 16:44:46
虽然我了解到我可以使用 go build 标记 ( // +build windows) 或文件名后缀 ( source_windows.go) 使 go 源文件成为操作系统特定的,但有没有办法使包目录中的所有源文件都成为操作系统特定的?猜测:一个包名是否mypackage_windows会使包目录下的所有文件都只在 Windows 下?如果上述猜测不起作用,我是否必须进行额外的间接级别,例如mypackage_usecase_windows.go,其中包含相应的导入语句:import "mymodule/mypackage_windows"?
查看完整描述

1 回答

?
米脂

TA贡献1836条经验 获得超3个赞

不,唯一的方法是使该包内的所有文件都遵循文件名模式或在其中具有所需的构建约束。基于文件名模式的构建约束仅在源文件级别起作用。

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


查看完整回答
反对 回复 2022-12-26
  • 1 回答
  • 0 关注
  • 89 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信