6 go
我正在编写我的第一个 Go 代码,其中包括发送电子邮件。在发现该软件包net/smtp仅支持Plain Auth(但某些提供商(例如 Outlook)不支持)后,我要求解决方案并被指出https://gist.github.com/andelf/5118732。
该代码的工作原理就像一个魅力,但由于它不是我自己编写的,我想将其添加到一个单独的文件中,然后在我的main.go.
在同一个包中包含多个文件的正确方法是什么?我不想只为该代码创建不同的包,首先因为它不是我的,其次因为我认为这是一种“过度杀伤”的方法,不是吗?
我以为只要文件位于同一目录中,我就可以有很多*.go文件,但似乎行不通。如果我只是创建一个包含该要点内容的文件,编译器会失败,因为expected package, found import. 如果我添加类似的东西package auth,那么它就会失败,因为found packages auth (auth.go) and main (main.go)
那么,这种情况下的一般做法是什么?只需为所有内容创建包?
一个目录中只能有一个包,而且看起来您不需要为此添加包,因此您可以简单地将其放在一个单独的文件中,然后添加package main在顶部。拥有一个main包并将所有东西都放在它下面可以在一定程度上发挥作用。随着事情变得越来越大,您必须将其分解为独立的包。