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

import (// 多个"google.golang.org/grpc""imcs/common/config""imcs/common/orm""imcs/entity/model"
)
import(// 单个"fmt"
)

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

fmt.Println("hello world")

上面这个fmt是Go语言的标准库,他其实是去GOROOT下去加载该模块,当然Go的import还支持如下两种方式来加载自己写的模块:
相对路径 import “./model” //当前文件同一目录的model目录,但是不建议这种方式import
绝对路径 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()函数就会被执行,但有些时候并非真的需要使用这些包,仅仅是希望它的init()函数被执 行而已。这个时候就可以使用_操作引用该包了。即使用_操作引用包是无法通过包名来调用包中的导出函数,而是只是为了简单的调用其init函数().

Golang中import 导入包的几种方式:点,别名与下划线相关推荐

  1. IDEA中打jar包的两种方式

    在讲这两种方式之前,我们先来说明一下什么是java中的jar文件 jar (Java Archive File),翻译过来就是java的档案文件,它其实也类似于我们windows下的zip文件,唯一的 ...

  2. python import变灰_python--pycharm中import导入包呈现灰色问题之解决~很实用

    将鼠标移动到灰色代码,点击出现提示"Unused import statement"表示import声明不可用, 左边同时出现黄色小灯泡,将鼠标移动至黄色小灯泡那里, 会出现向下箭 ...

  3. pycharm中import导入包呈现灰色问题

    将鼠标移动到那行代码,点击出现提示"Unused import statement"表示import声明不可用,左边同时出现黄色小灯泡,将鼠标移动至黄色小灯泡那里,会出现向下箭头, ...

  4. golang import 导入包语法介绍 点 别名 下划线

    package 的导入语法 写 Go 代码的时经常用到 import 这个命令用来导入包,参考如下: import("fmt" ) 然后在代码里面可以通过如下的方式调用: fmt. ...

  5. 【Intellij IDEA教程】怎么自动清除无效的import导入包、清除无效的import导入包的快捷键

    [Intellij IDEA教程]怎么自动清除无效的import导入包.清除无效的import导入包的快捷键 通常在使用Intellij IDEA进行项目开发的时候 Intellij IDEA会自动帮 ...

  6. Eclipse下导入外部jar包的3种方式

    转载自  Eclipse下导入外部jar包的3种方式   我们在用Eclipse开发程序的时候,经常要用到第三方jar包.引入jar包不是一个小问题,由于jar包位置不清楚,而浪费时间.下面配图说明3 ...

  7. python用于导入模块或模块中的对象_在 Python 中导入模块中的对象有哪几种方式? (5.0分)_学小易找答案...

    [判断题]尽管可以使用 import 语句一次导入任意多个标准库或扩展库,但是仍建议每次只导入一个标准库或扩展库. (2.0分) [填空题]表达式 int(str(34)) == 34 的值为 ___ ...

  8. Python中import导入上一级目录模块及循环import问题的解决

    Python中import导入上一级目录模块及循环import问题的解决 参考文章: (1)Python中import导入上一级目录模块及循环import问题的解决 (2)https://www.cn ...

  9. golang中container/list包中的坑

    转载地址:golang中container/list包中的坑 - Go语言中文网 - Golang中文社区 golang中list包用法可以参看golang中container/list包用法_che ...

最新文章

  1. 关于iostream的效率问题
  2. Xshell 连接ubuntu16.04 32位
  3. MATLAB入门级知识
  4. 木糖醇、可口可乐零度:可怕的传闻
  5. Iptables详解+实例
  6. 不同网站不同网卡_弄清高端网站建设的独特不同之处才能做好网站
  7. window下搭建linux虚拟机
  8. nginx 配置路由
  9. 2025 年全球数据量高达175ZB,开发者如何挑战数据洪流?
  10. 38个Pandas实用技巧
  11. dispatcherServlet流程图
  12. 大量原创视频教程分享(01)---XSL语法教程
  13. 电脑上网前必须要安装的四个补丁
  14. 简单举例JAVA回调函数的实现
  15. java设置一个内部类child_java的内部类及匿名内部类
  16. 51最小系统原理图 PCB
  17. Android 呼吸灯流程分析(一)
  18. Problem D: 求三角形面积-gyy
  19. CreateProcess error=193, %1 不是有效的 Win32 应用程序
  20. 计算机组成原理-宝典

热门文章

  1. 非法终端接入管控的三部曲:控、查、导
  2. 硬件描述语言VHDL
  3. 北京数字认证股份有限公司-数字证书认证管理解决方案
  4. Android 权限(一):权限大全
  5. micropython定制_树莓派开发实战 第2版 高清pdf
  6. 金丝楠PhoebeSheareri
  7. python炫酷动画源代码_Python小技巧:如何用Python代码发一个炫酷的朋友圈
  8. 风变科技python课程评价.11_风变科技在线职业教育课程不错,菜鸟也能成python高手...
  9. 【愚公系列】2022年04月 密码学攻击-RSA之暴力分解N
  10. 程序员坠楼事件:人到中年,不得不怂!