`

Golang- import 导入包的几种方式:点,别名与下划线

 
阅读更多

包的导入语法

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

     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函数()。

 

分享到:
评论

相关推荐

    Go-weixin-golang-sdk微信golang工具包

    weixin-golang-sdk 微信golang工具包

    typescriptify-golang-structs:Golang结构到TypeScript类的接口转换器

    Golang JSON到TypeScript模型转换器 安装 命令行工具: go get github.... tscriptify -package=package/with/your/models -target=target_ts_file.ts -import="import { Decimal

    golang-odbc 驱动

    在与数据库交互方面,Go 提供了多种库和驱动,其中之一就是 "golang-odbc",它允许 Go 代码与支持 ODBC(Open Database Connectivity)的数据库进行通信。ODBC 是一个标准的 API,它提供了一个统一的方式来访问各种...

    开源项目-arjun024-golang-101.zip

    开源项目“arjun024-golang-101”是一个专为初学者设计的Go语言学习资源集合。这个项目的核心目标是通过一系列实例来帮助用户掌握Go语言的基础知识和核心概念。Go语言,通常简称为Golang,是由Google开发的一种静态...

    Golang-磁力链接和 BT 种子的搜索引擎.zip

    Golang-磁力链接和 BT 种子的搜索引擎

    goLang-v1.23.2

    goLang-v1.23.2

    golang-linux-arm64-sdk

    《深入理解golang-linux-arm64 SDK:构建与应用实践》 在当今的软件开发领域,Go语言(Golang)以其高效、简洁和强大的并发特性备受开发者青睐。特别是在Linux操作系统和ARM64架构的硬件平台上,Go语言的性能优势...

    golang-1.15.5集合

    标题 "golang-1.15.5集合" 指的是 Go 语言的一个特定版本——1.15.5的软件包集合。Go(又称Golang)是Google开发的一种静态类型的、编译型的、并发型的、垃圾回收的、C/C++风格的编程语言。1.15.5是其版本号,代表了...

    golang-cross:使用CGO的golang交叉编译器

    构建基础映像(可选) docker build -f Dockerfile_builder -t goreng/golang-cross-builder:1.15.1 . 请先按照指南 建立跨语言的图像docker build --build-arg GO_VERSION=1.16.2 --build-arg GOLANG_DIST_SHA=542...

    go-toolset-7-golang-bin-1.8.3-4.el7.x86_64.rpm

    官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装

    webpack-golang-wasm-async-loader:一个Webpack加载器,用于使用异步交互模型生成Golang WebAssembly捆绑包,以从JavaScript调用Golang代码

    Golang WebAssembly异步加载程序从Golang生成WASM程序包,并提供一个用于处理它的异步接口安装npm install --save-dev golang-wasm-async-loader 这是用于的加载器,用于从生成 (又名WASM)包。 然后为webpack生成...

    GoLang-从入门到实战-经典教程

    Golang并发的次优选择:sync包 Golang并发:再也不愁选channel还是选锁 总结了才知道,原来channel有这么多用法! 深入理解channel:设计+源码 Go高级实践:反射3定律 Go调度器系列(1)起源 Go调度器系列(2)宏观...

    gcc-golang-mingw64-9.0.rar

    标题中的“gcc-golang-mingw64-9.0.rar”表明这是一个针对Windows系统(因为有“mingw64”标识)的压缩包,它包含了用于编译Go语言程序的GCC(GNU Compiler Collection)环境。这个环境是Golang在Windows上运行时,...

    开源项目-johnnadratowski-golang-neo4j-bolt-driver.zip

    开源项目-johnnadratowski-golang-neo4j-bolt-driver.zip是一个专注于Go语言的开源项目,由johnnadratowski开发,旨在提供对Neo4J数据库的Bolt协议支持。这个驱动程序使得Go开发者能够高效、稳定地与Neo4J图形数据库...

    Golang-Transbank-Oneclick-mall:Oneclick 商城的非官方库(API REST)-Golang

    Golang - Webpay OneClick 商城 golang 中 Webpay OneClick Mall 集成库 特征 ...import ( "github.com/fenriz07/Golang-Transbank-WebPay-Rest/pkg/webpayplus" ) 一体化 /* Usar la función Set

    开源项目-golang-go.zip

    开源项目-golang-go.zip,Go proposal: clarify how proposals are evaluated

    微信小程序服务端 SDK (for Golang)-weapp.zip

    微信小程序服务端SDK(for Golang)是专为Golang开发者设计的一个工具包,用于方便地与微信小程序进行交互和数据通信。这个SDK允许开发者在服务端实现与小程序的无缝对接,提供高效、稳定的服务支持。本文将详细介绍...

    golang-asm:来自Go编译器的汇编器,采用库形式

    golang-asm Go编译器的汇编器镜像,其中导入路径被重写,以使汇编器可用作独立的库。 按照Go项目的许可。地位工作,但希望挖掘到汇编godoc是制定出什么来设置不同的参数obj.Prog得到它产生的具体说明。例子演示在x86...

Global site tag (gtag.js) - Google Analytics