Golang自定义包总结

近日在学习Golang的自定义包的创建方式,产生了一些经验,因此以这篇文章作为记录。

我们通过import语句将自定义包加入到我们项目main函数中,import语句后面的参数应该是文件夹的名称,和自定义包的package的名称或者自定义包里面的文件名称没有关系,例如文件的结构目录如下:

main.go的源码:

package main

import "fmt"
import "foo"

func main() {
	bar.Abc()
	fmt.Print("This is main\n")
}

foo/test.go的源码:

package bar

import "fmt"

func Abc() {
	fmt.Print("This is test print\n")
}

上面的代码是顺利通过编译的。我们可以总结以下几点:

(1)import语句使用的是文件夹的名称

上面例子中的import后面的参数对应的就是文件夹foo

(2)文件夹的名称和package的名称不一定相同

上面的例子中,文件夹是foo,而package名称是bar。

(3)调用自定义包使用package名称.函数名的方式

例如上面使用的bar.Abc()。

(4)自定义包的调用和文件名没有关系

例如上面的test.go文件,如果改成test_abc.go,程序也能正常编译。编译系统会自动查找foo文件夹下的所有文件,在其中寻找package bar,然后选择Abc函数。

posted @ 2018-04-20 14:31  cloes  阅读(74)  评论(0编辑  收藏  举报