对Golang import 导入包语法详解

 更新时间:2019-09-09 09:01:41   作者:佚名   我要评论(0)

package 的导入语法
写 Go 代码的时经常用到 import 这个命令用来导入包,参考如下:


import(
"fmt"
)

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


fmt.P

package 的导入语法

写 Go 代码的时经常用到 import 这个命令用来导入包,参考如下:

import(
  "fmt"
)

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

fmt.Println( "我爱北京天安门" )

fmt 是 Go 的标准库,它其实是去 GOROOT 下去加载该模块,当然 Go 的 import 还支持如下两种方式来加载自己写的模块:

相对路径

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

绝对路径

import  "shorturl/model" // 加载 GOPATH/src/shorturl/model 模块

package 的导入的特殊用法

上面展示了一些 import 常用的几种方式,但是还有一些特殊的 import ,让很多新手很费解,下面是三种导入包的使用方法。

点操作

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

import( 
  . "fmt" 
) 

这个点操作的含义就是这个包导入之后在你调用这个包的函数时,你可以省略前缀的包名,也就是前面你调用的:

fmt.Println( "我爱北京天安门" )

可以省略的写成:

Println( "我爱北京天安门" )

别名操作

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

import( 
  f "fmt" 
)

别名操作调用包函数时前缀变成了重命名的前缀,即:

   f.Println( "我爱北京天安门" )

下划线操作

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

import ( 
  “database/sql” 
  _ “github.com/ziutek/mymysql/godrv” 
) 

下滑线 “_” 操作其实只是引入该包。当导入一个包时,它所有的 init() 函数就会被执行,但有些时候并非真的需要使用这些包,仅仅是希望它的 init() 函数被执行而已。这个时候就可以使用 “_” 操作引用该包了。即使用 “_” 操作引用包是无法通过包名来调用包中的导出函数,而是只是为了简单的调用其 init() 函数。

以上这篇对Golang import 导入包语法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

  • go各种import的使用方法讲解
  • 详解golang避免循环import问题(“import cycle not allowed”)
  • golang 之import和package的使用

相关文章

  • 对Golang import 导入包语法详解

    对Golang import 导入包语法详解

    package 的导入语法 写 Go 代码的时经常用到 import 这个命令用来导入包,参考如下: import( "fmt" ) 然后在代码里面可以通过如下的方式调用: fmt.P
    2019-09-09
  • go 下载非标准库包(部份包被墙了)到本地使用的方法

    go 下载非标准库包(部份包被墙了)到本地使用的方法

    如下所示: import ( "golang.org/x/net/html" ) 在使用此包时,会导入失败,因为这不是go标准库中,但是由于域名被墙了所以翻墙可以下载此包,放入你的
    2019-09-09
  • goLang引入自定义包的方法

    goLang引入自定义包的方法

    看完golang的基本语法后,为了模块化编程,试用了下golang的包管理,结果真踩了几个坑,总结一下吧。 一. 设置$GOPATH环境变量 golang和C或php不一样,不会自
    2019-09-09
  • go时间/时间戳操作大全(小结)

    go时间/时间戳操作大全(小结)

    基本操作 01: 获取当前时间 dateTime := time.Now() fmt.Println(dateTime) 02: 获取年 月 日 时 分 秒 纳秒 year := time.Now().Year() //年 fmt.P
    2019-09-09
  • golang gorm中格式化时间问题详解

    golang gorm中格式化时间问题详解

    前言 最近在开发项目时遇到了发现一个问题, gorm虽然可以自动帮你维护 created_at、updated_at、deleted_at这些关键时间字段。但是其原理与弊端需要了解一
    2019-09-09
  • Golang TCP粘包拆包问题的解决方法

    Golang TCP粘包拆包问题的解决方法

    什么是粘包问题 最近在使用Golang编写Socket层,发现有时候接收端会一次读到多个数据包的问题。于是通过查阅资料,发现这个就是传说中的TCP粘包问题。下面
    2019-09-09
  • 下载golang.org/x包的操作方法

    下载golang.org/x包的操作方法

    golang.org/x包放到了https://github.com/golang/text中,下载时需要先在本地建立golang.org/x的目录后,再下载。 mkdir -p golang.org/x git clone https://
    2019-09-09
  • Golang 使用http Client下载文件的实现方法

    Golang 使用http Client下载文件的实现方法

    之前使用beego的http库的时候,有的情况需要下载文件。beego是能实现,但就是有点问题:不支持回调,没法显示下载速度,这在日常开发中是不可忍受的。 看了下be
    2019-09-09
  • 基于Go和Gin的环境配置方法

    基于Go和Gin的环境配置方法

    1.官方下载Go版本,安装相应平台的程序。 2.配置Go的环境变量: GOROOT:GO安装路径,例如GOROOT = D:\Go GOPATH: 项目源码所在目录(例如GOPATH = E:\go),
    2019-09-09
  • golang 检查网络状态是否正常的方法

    golang 检查网络状态是否正常的方法

    如下所示: package main import ( "fmt" "os/exec" "time" ) func NetWorkStatus() bool { cmd := exec.Command("ping", "baidu.com", "-c", "1", "
    2019-09-09

最新评论