GoLand 2025.3 Help

嵌入文件

从 Go 1.16 开始,您可以将文件嵌入到您的 Go 二进制文件中。 这意味着您可以构建并向用户分发一个二进制文件,该文件已经包含了硬盘上所有必要的文件。 因此,您无需单独分发这些文件并将它们放置在计算机上的特定位置。 而且,下次您将二进制文件移动到另一个目录时,无需更新这些文件的路径。

此外,请考虑以下用法:

  • 在使用 Go 模板时,您可以嵌入模板文件

  • 与 Go 服务器二进制文件一起分发 HTML、CSS 和 JavaScript 文件

  • 与二进制文件一起分发数据库迁移脚本

要嵌入文件,您需要使用 //go:embed 指令并指定您想要嵌入的文件。 您必须在包的顶层声明这些变量。 这意味着函数体中不能包含这些变量。

您可以嵌入以下类型: string[]byteembed.FS

如果您嵌入一个目录,那么所有以点(. )或下划线(_ )开头的文件都会被排除。 要包含它们,您需要使用 all 前缀。 例如, all:webapp 会嵌入 ‘webapp/.tempfile’ 和 ‘webapp/dir/.tempfile’。

在 Go 中嵌入文件

代码补全

  • 您可以通过自动补全或按下 Ctrl+Space 来完成文件和目录的名称。

    code_completion_for_embed_directive
  • 要从引用导航到对应的文件,请按 Ctrl+B

重命名文件和目录

  • 点击文件名并导航到 重构 | 重命名

    重命名文件和目录

查找文件的用法

  • 点击文件名并选择 编辑 | 查找用法 | 查找用法

    查找文件的用法

使用检查

IDE 会在以下情况下显示警告。

  • 您引用了一个不存在的文件或文件夹。

    不存在的文件夹
  • 您尝试在 struct 类型或任何其他不支持的类型中嵌入文件。

  • 您忘记将 embed 包添加到您的 import 列表中。

    缺少 embed 包
最后修改日期: 2025年 12月 5日