为什么不去嵌入文件?

我正在尝试在我的 go 应用程序中嵌入一个文本文件,但我无法弄清楚它为什么不起作用。


我有一个hello.txt与我的 go 程序在同一目录中命名的文件,但是当我编译并运行下面的代码时,它不会打印任何内容,而它应该打印 hello.txt 的内容。


package main


import (

    _ "embed"

    "fmt"

)


// go:embed hello.txt

var hello string


func main() {

    fmt.Println(hello)

}

我还尝试制作hello甚[]byte至使用文件系统并列出所有文件,两者都表明没有嵌入任何内容。


紫衣仙女
浏览 70回答 1
1回答

繁华开满天机

//和之间不能有空格go:embed,否则编译器只会将其视为注释。嵌入文档并没有说明这一点,但它在 go compile 的文档中进行了解释编译器接受注释形式的指令。为了将它们与非指令注释区分开来,指令在注释开头和指令名称之间不需要空格。但是,由于它们是注释,因此不了解指令约定或特定指令的工具可以像任何其他注释一样跳过指令。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go