GoLand 2025.2 Help

嵌入文件

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

此外,请考虑以下使用场景:

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

  • 将 HTML、CSS 与 JavaScript 文件一同打包至 Go 服务器可执行文件

  • 将数据库迁移脚本与可执行文件一起打包

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

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

如果嵌入的是目录,那么所有以点 (.) 或下划线 (_) 开头的文件将被排除。 如需包含这些文件,必须使用 全部 前缀。 例如, 全部:webapp 会嵌入 'webapp/.tempfile' 与 'webapp/dir/.tempfile'。

在 Go 中嵌入文件

代码补全

  • 您可以使用自动补全或按下 Ctrl+Space 来补全文件与目录名称。

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

重命名文件与目录

  • 单击文件名并导航至 重构 | 重命名

    重命名文件与目录

查找文件用法

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

    查找文件用法

使用检查

遇到以下情况时,IDE 会显示警告。

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

    文件夹不存在
  • 您尝试在结构体类型或其他不支持的类型中嵌入文件。

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

    缺少 embed 包
最后修改日期: 2025年 9月 26日