我们在写Go代码的时候经常用到import这个命令用来导入包文件,而我们经常看到的方式参考如下:

  import(

  "fmt"

  )

  然后我们代码里面可以通过如下的方式调用

  fmt.Println("hello world")

  上面这个fmt是Go语言的标准库,其实是去GOROOT环境变量指定目录下去加载该模块,当然Go的import还支持如下两种方式来加载自己写的模块:

  1、相对路径

  import “./model” //当前文件同一目录的model目录,但是不建议这种方式来import

  2、绝对路径

  import “shorturl/model” //加载gopath/src/shorturl/model模块

  上面展示了一些import常用的几种方式,但是还有一些特殊的import,让很多新手很费解,下面我们来一一讲解一下到底是怎么一回事:

  1、点操作

  我们有时候会看到如下的方式导入包

  import(

  . "fmt"

  )

  这个点操作的含义就是这个包导入之后在你调用这个包的函数时,你可以省略前缀的包名,也就是前面你调用的fmt.Println("hello world")可以省略的写成Println("hello world")

  2、别名操作

  别名操作顾名思义我们可以把包命名成另一个我们用起来容易记忆的名字

  import(

  f "fmt"

  )

  别名操作的话调用包函数时前缀变成了我们的前缀,即f.Println("hello world")

  3、_操作

  这个操作经常是让很多人费解的一个操作符,请看下面这个import

  import (

  "database/sql"

  _ "github.com/ziutek/mymysql/godrv"

  )

  _操作其实是引入该包,而不直接使用包里面的函数,而是调用了该包里面的init函数。(编辑:雷林鹏 来源:网络)

最新文章

  1. PHP浅复制与深复制
  2. Android进程回收机制LMK(Low Memory Killer)
  3. IOS网络编程之请求内容
  4. SQL2008无法连接到.\SQLEXPRESS,用户'sa'登录失败(错误18456)图文解决方法
  5. CentOS 大量的TIME_WAIT解决方法
  6. c# DataTable 中 Select 和 Clone 用法结合
  7. IDLHDF5读取与转换
  8. IBatis.Net获取执行的Sql语句
  9. Java Date Classes
  10. 1028阿里RDS如何恢复云数据库MySQL的备份文件到自建数据库
  11. MapReduce论文学习
  12. html页面嵌套两个iframe页面导致第二个iframe页面高度失效的问题
  13. 第十一章 IO流
  14. MySql:SELECT 语句(一)基本查询
  15. 2073: [POI2004]PRZ
  16. Java将list数据导出到Excel——(八)
  17. 17.1拓展之纯 CSS 创作炫酷的同心圆旋转动画
  18. How Not to Crash #6: Properties and Accessors(属性,存储器方法使问题)
  19. js 时间操作积累
  20. 使用git管理代码

热门文章

  1. 使用electron进行原生应用的打包(2)---主进程与渲染进程之间的通信
  2. Java 面向对象之 static 关键字
  3. Collections工具类的使用
  4. tpot从elastic search拉攻击数据之三 用于拉取的java程序
  5. 我的Android进阶之旅------>Android自定义View实现带数字的进度条(NumberProgressBar)
  6. zookeeper3.4.5集群安装
  7. C# 创建单例你会几种方式?
  8. go——函数
  9. 再谈WinIO初始化异常
  10. Delphi 正则表达式语法(6): 贪婪匹配与非贪婪匹配