前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Golang 包管理(一)

Golang 包管理(一)

作者头像
爱敲代码的猫
发布2019-10-17 14:13:23
4420
发布2019-10-17 14:13:23
举报
文章被收录于专栏:爱敲代码的猫爱敲代码的猫

什么是Go语言中的包

我们在使用其他语言,比如Java,是有包的概念的,它是Java语言中组织我们的Java文件的一个概念,比如java.lang这个包,他里面有很多我们常用的类,比如String。在Go语言中,包也是类似的概念,它是把我们的go文件组织起来,可以方便进行归类、复用等目的。 比如Go内置的net包

代码语言:javascript
复制
net
├── http
├── internal
├── mail
├── rpc
├── smtp
├── testdata
├── textproto
└── url

以上是net包的一个目录结构,net本身是一个包,net目录下的http又是一个包。从这个大家可以看到,go语言的包其实就是我们计算机里的目录,或者叫文件夹,通过它们进行目录结构和文件组织,go只是对目录名字做了一个翻译,叫【包】而已。比如这里的net包其实就是net目录,http包其实就是http目录,这也是go语言中的一个命名习惯,包名和文件所在的目录名是一样的。

包的命名

尊敬的程序猿们提醒您:

代码语言:javascript
复制
代码千万条,注释第一条;
命名不规范,同事泪两行。

go语言的包的命名,遵循简洁、小写、和go文件所在目录同名的原则,这样就便于我们引用,书写以及快速定位查找。

比如go自带的http这个包,它这个http目录下的所有go文件都属于这个http包,所以我们使用http包里的函数、接口的时候,导入这个http包就可以了。

代码语言:javascript
复制
package main

import "net/http"

func main() {
http.ListenAndServe("127.0.0.1:80",handler);
}

从这个例子可以看到,我们导入的是net/http,这在go里叫做全路径,因为http包在net里面,net是最顶级的包,所以必须使用全路径导入,go编译程序才能找到http这个包,和我们文件系统的目录路径是一样的。

因为有了全路径,所以命名的包名可以和其他库的一样,只要它们的全路径不同就可以了,使用全路径的导入,也增加了包名命名的灵活性。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-02-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 爱敲代码的猫 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是Go语言中的包
  • 包的命名
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档