Go语言实践技巧(2)——package定义和初始化

(1)一个文件夹下的所有文件必须属于同一个package,一个好的规则是package和文件夹名字相同。此外,要注意import语句所指定的是寻找packagepath,而不是package的名字。关于这个话题讨论,请参见Is the package name must same with name folder name?

另外,要注意import的语法(参考这里):

import packagename importpath

举例如下:

Import declaration          Local name of Sin

import   "lib/math"         math.Sin
import m "lib/math"         m.Sin
import . "lib/math"         Sin

在第二种情况下,mpackage名字;第三种情况下,使用math package可以省略package名字。

 

(2)

import (
_ "github.com/xxx"
)

这种做法可以保证”github.com/xxx“这个package的初始化操作完成(这个package中所有init函数都执行),即使在当前文件中没有显式地使用到这个package