Embed 允许您将非 Go 文件视为源代码树的真正部分,而不是运行时依赖项。您可以将嵌入的文件视为源代码的扩展,并且可以类似地对待它们(主要是通过通常的源代码管理措施确保文件的内容)。对于普通文件,即使它们在理论上是应用程序的静态元素,它们通常仍然需要每次运行程序时进行错误检查和验证,否则可能会出现无法解释的错误。使用嵌入式文件,一旦通过所有测试并部署应用程序,您就不必担心这一点。嵌入文件的主要问题是,如果不重新生成程序,则无法更改内容,并且(可能很大)的文件大小会添加到二进制文件中。如果这不会造成问题,请继续。任何时候,只要您可以合理地嵌入文件而不是在运行时加载它,这样做可能是可取的,因为它使程序部署更简单。