golang import 导入的四种方式

1 标准导入:

复制代码
import "package_name"

2 导入别名:

复制代码
import (
    alias "package_name"
)

3 匿名导入:

复制代码
import (
    _ "package_name"
)

4 点导入:

复制代码
import (
    . "package_name"
)

下面做详细解释:

Go语言最常见的导入方式是标准导入,格式如下:

复制代码
import "package_name"

在这个形式中,你需要在调用包内的任何成员时使用包名作为前缀,例如:

复制代码
package_name.FunctionName() 或 package_name.Type

此外,Go还支持导入别名,这可以用于解决包名冲突或者让代码更易读。例如:

复制代码
import (
    p "github.com/henrylee2cn/pholcus/app/spider"
    m "math"
)

在这个例子中,p 是 github.com/henrylee2cn/pholcus/app/spider 包的别名,m 是 math 包的别名。在你的代码中,你可以使用 p.FunctionName() 和 m.Sqrt() 而不是完整的包名。

匿名导入 :_ "package_name"

当你只需要导入包来执行它的初始化函数(如果有的话),但并不打算在代码中直接引用该包的任何符号时,可以使用匿名导入。

例如,某些包可能需要在程序启动时做一些设置或者注册,但你不需要在代码中显式调用它们的任何函数。

这种导入方式不会在你的代码中为该包创建任何别名,所以无法直接访问包内的任何成员。

点导入 :. "package_name"

点导入允许你省略在调用包内函数时的包名前缀。

例如,如果你导入了一个包 math 并使用点导入,那么你可以直接写 Sqrt(x) 而不是 math.Sqrt(x)。

这种方式使得代码更简洁,但可能导致命名冲突,如果两个不同的包提供了同名的函数或变量。

匿名导入 以及 点导入,这两种导入方式并不常见,通常我们使用标准的 import "package_name" 形式,这样可以明确地引用包,并且避免不必要的初始化或潜在的冲突。

Link:https://www.cnblogs.com/farwish/p/18223277

相关推荐
007php0071 小时前
某游戏互联网大厂Java面试深度解析:Java基础与性能优化(一)
java·数据库·面试·职场和发展·性能优化·golang·php
豆浆whisky8 小时前
Go内存管理最佳实践:提升性能的Do‘s与Don‘ts|Go语言进阶(17)
开发语言·后端·golang
Yeats_Liao11 小时前
Go Web 编程快速入门 18 - 附录B:查询与扫描
开发语言·前端·后端·golang
小八四爱吃甜食11 小时前
【R语言】构建GO、KEGG相关不同物种的R包
开发语言·golang·r语言
赵文宇(温玉)1 天前
构建内网离线的“github.com“,完美解决内网Go开发依赖
开发语言·golang·github
草明1 天前
Go 的 IO 多路复用
开发语言·后端·golang
绛洞花主敏明2 天前
Go切片的赋值
c++·算法·golang
007php0072 天前
某游戏大厂 Java 面试题深度解析(四)
java·开发语言·python·面试·职场和发展·golang·php
꒰ঌ 安卓开发໒꒱2 天前
Go高并发在企业级项目中的实战应用:数据库访问与GIN+GORM深度实践
数据库·golang·gin
请你喝好果汁6412 天前
python入门到编程第三章
golang