You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Go语言使用go:embed嵌入文件无内容输出是什么原因?

Go embed 嵌入文件无输出问题解决

首要排查点:嵌入指令注释格式错误

你代码中的// go:embed hello.txt写法不符合要求,//和go:embed之间不能存在空格,否则编译器会将该行识别为普通注释,不会触发文件嵌入逻辑,最终变量会保留对应类型的零值(string类型为空字符串,[]byte为空切片)。
正确的注释写法为//go:embed hello.txt。

其他可能的排查项

  • 确认你的Go版本 >= 1.16,embed是Go 1.16版本才正式引入的标准库功能,低版本无法识别该指令
  • 确认hello.txt和当前写embed指令的.go源码文件存放在同一目录下,注意是和源码文件同级,不是和编译后的二进制文件同级
  • embed指令只能修饰包级别的全局变量,不能用在函数内部的局部变量上

修正后的完整代码

package main

import (
    _ "embed"
    "fmt"
)

//go:embed hello.txt
var hello string

func main() {
    fmt.Println(hello)
}

内容的提问来源于stack exchange,提问作者ecnepsnai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 07:24:08