go的基本语法

1、导入带下划线的包名

import (
	"log"
	"os"

	_"packs/chapter2/sample/matchers"
	"packs/chapter2/sample/search"
)

从上面的可以看到,导入的路径前面有一个下划线,这是为了让go语言对包做初始化,但是并不使包里的标识符。为了让程序的可读性更强,go编译器不允许声明导入某个包却不使用。下划线让编译器接受这类导入,并且调用对应包内的所有代码文件里的定义的init函数。

2、 对导入包名的注意事项

(1)当代码导入了一个包时,程序可以直接访问这个包中任意一个公开的标识符,这些标识符以大写字母开头。以小写字母开头的标识符是不公开的,不能被其他包中的代码直接访问。
(2)一旦编译器找到满足import 语句的包,就停止进一步查找。编译器在查找包时,会首先查找go的安装目录,然后才会按顺序查找 GOPATH变量里列出的目录。
(3)远程导入

import "github.com/spf13/viper"

从上面代码中,可以看到import导入了一个远程的包。如果在导入包的路径中包含URL,可以使用GO工具链从DVCS(Distributed Version Control Systems,DVCS)获取包,并把包的源代码保存在GOPATH指向的路径里与URL匹配的目录中。这个获取过程可以使用 go get 命令完成。
(4)命名导入
重名的包可以通过命名导入来导入,命名导入是指,在import语句给出的包路径的左侧定义一个名字,将导入的包命名为新名字。

import (
	"fmt"
	myfmt "mylib/fmt"
)

猜你喜欢

转载自blog.csdn.net/wymyimeng/article/details/82766595