包的引用格式
目录
包的绝对路径就是GORO0T/src/
或 GOPATH
后面包的存放路径,如下所示
|
|
上面代码的含义如下:
test
包是自定义的包,其源码位于GOPATH/lab/test
目录下;
driver
包的源码位于GOR00T/src/database/sql/driver
目录下;
sql
包的源码位于GOR00T/src/database/sql
目录下。
标准库引用
直接引用标准库中的包,不需要指定路径。例如:
|
|
此时可以用fmt.
作为前缀来使用fmt
包中的方法,这是常用的一种方式。
完整路径引用
使用完整路径引用包,包括其在$GOPATH
中的位置或者在Go module
中的模块路径。例如:
|
|
相对路径引用
在同一项目中引用其他包,使用相对路径。这种方式通常在同一个项目中的不同目录之间引用包时使用。例如:
|
|
别名引用
引用包时,可以给包指定别名,这种方式适用于避免包名冲突或者简化包名。例如:
|
|
匿名引用
使用匿名引用来导入包,但不直接使用其导出的标识符。匿名引用的目的通常是为了执行包的初始化操作或者注册。匿名引用使用下划线 (_) 来标识。例如:
|
|
这里的下划线表示,虽然引入了该包,但是不会在代码中直接使用它的标识符。通常这种用法是为了让包中的init
函数执行,或者执行包的一些副作用,例如注册数据库驱动程序。
省略引用
在引入包时不使用包的名称,而是直接使用包中的函数、变量或其他导出的标识符。这种省略引用的格式使用了匿名导入。例如:
|
|
这样,在引入了fmt
包之后,就可以直接使用fmt
包中的函数或变量,而不需要在调用时使用包名前缀。例如:
|
|
在上面的示例中,我们直接调用了fmt
包中的Println
函数,而不需要使用fmt.Println
。这种方式虽然简洁,但也会导致代码的可读性降低,因此在使用时需要慎重考虑。
收录于 合集・面试常考问题 11