您可以将其用作导入声明,例如:
. "./bio"
如果出现显式的句号(
.)而不是名称,则在该软件包的package块中声明的所有软件包导出的标识符都将在导入源文件的file块中声明,并且
必须在不使用限定符的情况下进行访问 。
这就是像govey这样的测试框架所做的:
package package_nameimport ( "testing" . "github.com/smartystreets/goconvey/convey")func TestIntegerStuff(t *testing.T) { Convey("Given some integer with a starting value", t, func() { x := 1 Convey("When the integer is incremented", func() { x++ Convey("The value should be greater by one", func() { So(x, ShouldEqual, 2) }) }) })}
您不需要使用
convey.So(),或者
convey.Convey()由于导入以’开头
.。
但是请不要滥用它,因为正如twotwotwo注释那样 在测试之外不鼓励使用它。
除这种情况外,请勿
import .在程序中使用。
由于不清楚Quux之类的名称是否是当前包或导入包中的顶级标识符,因此使程序更难阅读。
这就是为什么我提到了使用这种技术的 测试 框架。
正如Simon Whitehead所评论的那样,通常不认为使用 相对导入
是最佳实践(例如,参见“ Go语言包结构
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)