golang import 导入的四种方式
1 标准导入:
import "package_name"
2 导入别名:
import (
alias "package_name"
)
3 匿名导入:
_ "package_name"
4 点导入:
. "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
golang import 导入的四种方式的更多相关文章
- 【Java EE 学习 80 下】【调用WebService服务的四种方式】【WebService中的注解】
不考虑第三方框架,如果只使用JDK提供的API,那么可以使用三种方式调用WebService服务:另外还可以使用Ajax调用WebService服务. 预备工作:开启WebService服务,使用jd ...
- golang操作文件的四种方法
golang追加内容到文件末尾 字数349 阅读54 评论0 喜欢2 golang读写文件,网上很多教程了但是今天有个需求,想要把内容追加写到文件末尾google了好久,没有查到研究了一会儿file库 ...
- iOS 登陆的实现四种方式
iOS 登陆的实现四种方式 一. 网页加载: http://www.cnblogs.com/tekkaman/archive/2013/02/21/2920218.ht ml [iOS登陆的实现] A ...
- 四种方式实现子goroutine与主线程的同步
如何实现子goroutine与主线程的同步 第一种方式: 这种方式很太死板,就不演示了. 第二种方式:使用 channel机制,每个 goroutine传一个 channel进去然后往里写数据,在再主 ...
- VUE 动态加载组件的四种方式
动态加载组件的四种方式: 1.使用import导入组件,可以获取到组件 var name = 'system'; var myComponent =() => import('../compon ...
- Spark入Hbase的四种方式效率对比
一.方式介绍 本次测试一种采用了四种方式进行了对比,分别是:1.在RDD内部调用java API.2.调用saveAsNewAPIHadoopDataset()接口.3.saveAsHadoopDat ...
- C#批量插入数据到Sqlserver中的四种方式
我的新书ASP.NET MVC企业级实战预计明年2月份出版,感谢大家关注! 本篇,我将来讲解一下在Sqlserver中批量插入数据. 先创建一个用来测试的数据库和表,为了让插入数据更快,表中主键采用的 ...
- C#_批量插入数据到Sqlserver中的四种方式
先创建一个用来测试的数据库和表,为了让插入数据更快,表中主键采用的是GUID,表中没有创建任何索引.GUID必然是比自增长要快的,因为你生成一个GUID算法所花的时间肯定比你从数据表中重新查询上一条记 ...
- java 20 -10 字节流四种方式复制mp3文件,测试效率
电脑太渣,好慢..反正速率是: 高效字节流一次读写一个字节数组 > 基本字节流一次读写一个字节数组 > 高效字节流一次读写一个字节 > 基本字节流一次读写一个字节 前两个远远快过后面 ...
- Java使用基本字节流OutputStream的四种方式对于数据复制(文本,音视频,图像等数据)
//package 字符缓冲流bufferreaderDemo; import java.io.BufferedOutputStream; import java.io.FileInputStream ...
随机推荐
- shell编程实现用户循环输入
如果你想在Shell脚本中实现一个循环判断用户输入是否正确,并根据情况决定是否退出系统,可以使用一个无限循环(如while true)和条件语句来实现. 以下是一个示例代码,用于演示这种情况: #!/ ...
- 【笔记】go语言--函数式编程
[笔记]go语言--函数式编程 简单来说,go语言的函数式编程体现的是一个闭包的情况 函数式编程 VS 函数指针 函数是一等公民:参数,变量,返回值都可以是函数 高阶函数 函数->闭包 &quo ...
- CSS选择器练习--餐厅选择
1.题目:Select the plates 答案:plate 1 <div class="table"> 2 <plate></plate> ...
- 400倍加速, PolarDB HTAP实时数据分析技术解密
简介: PolarDB MySQL是因云而生的一个数据库系统, 除了云上OLTP场景,大量客户也对PolarDB提出了实时数据分析的性能需求.对此PolarDB技术团队提出了In-Memory Col ...
- Serverless 应用优化四则秘诀
简介:Serverless 架构下,虽然我们更多精力是关注我们的业务代码,但是实际上对于一些配置和成本也是需要进行关注的,并且在必要的时候,还需要根据配置与成本进行对我们的 Serverless 应 ...
- 浅谈RSocket与响应式编程
简介: RSocket是高效一个二进制的网络通讯协议,能够满足很多场景下使用.另外,RSocket也是一个激进的响应式捍卫者,激进到连API都跟响应式无缝集成.本文我们将和大家分享RSocket与响 ...
- 内含干货PPT下载|一站式数据管理DMS及最新解决方案发布
简介: 今天主要给大家介绍一站式数据管理平台DMS以及解决方案的发布.议题包含企业数据管理当前的一些痛,DMS一站式数据管理平台以及其核心技术,实时数仓解决方案以及相应的应用实践. "数聚 ...
- [FAQ] 没有docker用户组,怎么让普通用户有权限操作docker
如果没有docker用户组,可以通过以下步骤让普通用户有权限操作docker: 创建一个名为docker的用户组: sudo groupadd docker 将当前用户添加到docker用户组中: ...
- dotnet UNO 如何在调试下输出界面层级结构
本文将告诉大家如何在 UNO 里面将界面的层级结构输出到调试窗口 实现方法非常简单,和 WPF 或 UWP 等的方法是一样的,那就是通过可视化树遍历的方式,如以下代码 static class UIS ...
- 大模型_2:Prompt Engineering
目录: 1.提示工程简介 2.如何写好提示词 2.1 描述清晰 2.2 角色扮演 2.3 提供示例 2.4 复杂任务分解 2.5 使用格式符区分语义 2.6 情感和物质激励 2.7 使用英语 2.8 ...