golang中导入包的方法-成都快上网建站

golang中导入包的方法

这篇文章运用简单易懂的例子给大家介绍golang中导入包的方法,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

宕昌网站建设公司创新互联公司,宕昌网站设计制作,有大型网站制作公司丰富经验。已为宕昌成百上千家提供企业网站建设服务。企业网站搭建\外贸网站建设要多少钱,请找那个售后服务好的宕昌做网站的公司定做!

import

Go 使用包(package)作为基本单元来组织源代码,所有语法可见性均定义在 package 这个级别。同一 package 下面,可以有非常多的不同文件,只要每个文件属于相同的 package name。

每个源码文件的第一行必定要通过如下语法定义属于哪个 package,

package xxx

然后就是导入本源码文件所使用的标准包或第三方包,即

import (
    "a/b/c"
    "fmt"
)

标准库会从 GO 的安装目录下查找,第三方库会从开发者定义的 $GOPATH 下查找。当都找不到时,编译器就会报错。在使用第三方包的时候,当源码和 .a 均已安装的情况下,编译器链接的是源码。

注意: 上面语句中 a/b/c 最后的 c 为目录名,不是 package name。

在对文件中的方法进行调用时,使用如下格式:

package.Methodxxx()

同一文件夹下的多个文件的 package 一般定义为该文件夹的名字,但是也有例外,比如上面的栗子中,c 文件下的所有文件的 package 定义为 fux,那么在调用这个文件夹下文件的方法时,只能使用 fux.Methodxxx(),而不是 c..Methodxxx()

一个非main包在编译后会生成一个.a文件(在临时目录下生成,除非使用go install安装到 $GOROOT$GOPATH下,否则你看不到 .a),用于后续可执行程序链接使用。

vendor

Go 在 1.5 的版本加入的 vendor 的支持来做包管理。1.5 版本要设置 GO15VENDOREXPERIMENT="1" 来支持这个特性,1.6版本将其作为默认参数配置。下面对于包含 vendor 目录的包导入路径规则大致如下。

├── d
    ├── mypkg
    |     └── main.go
    └── vendor
          └── q
              ├── q.go

当上述目录结构,在 main.go 中 import q时,后首先从 vendor 目录下查找,若找不到,会从 $GOPATH 目录下查找,再找不到的话,编译器就报错了。

看完这篇文章,你们学会golang中导入包的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读。


当前标题:golang中导入包的方法
网址分享:http://kswjz.com/article/pjcdch.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流