登录
首页 >  Golang >  Go问答

为什么 go 不嵌入文件?

来源:stackoverflow

时间:2024-04-22 11:12:39 175浏览 收藏

偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《为什么 go 不嵌入文件?》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步!

问题内容

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

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

package main

import (
    _ "embed"
    "fmt"
)

// go:embed hello.txt
var hello string

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

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


正确答案


//go:embed 之间不能有空格,否则编译器只会将其视为注释。

embed documentation 没有明确说明这一点,但在 documentation for go compile 中对此进行了解释

编译器接受注释形式的指令。为了将它们与非指令注释区分开来,指令要求注释开头和指令名称之间没有空格。但是,由于它们是注释,因此不知道指令约定或特定指令的工具可以像任何其他注释一样跳过指令。

今天关于《为什么 go 不嵌入文件?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>