Golang 学习手册
  • 主页
  • 安装
  • 参考资料
  • Q&A
  • 基础
    • Hello,world!
    • 包
    • 变量
    • 常量
    • 类型
      • 整型
      • 浮点型
      • 复数
      • 布尔型
      • 字符
      • 字符串
      • 数组
      • 切片
      • 字典
      • 指针
      • 方法
      • 结构体
      • 接口
      • 自定义类型
    • 语法
      • 判断
      • 循环
      • 错误处理
    • 协程
      • 锁
      • 等待组
      • 通道
      • 上下文
    • 测试与分析
      • 单元测试
      • 性能测试
      • 性能分析
    • 编译
      • 条件编译
      • 交叉编译
  • 高级
    • 存储
      • 键值存储
        • Etcd
    • HTTP
      • http服务基础
      • Websocket
      • 开源框架
        • Beego
        • Echo
        • Gin
        • Iris
        • Revel
        • 框架对比
      • Kubernetes风格API框架
    • RPC
      • RPCX
      • GRPC
      • grpc-gateway
    • 连接分发器
    • TLS加密
    • 链路追踪
      • skywalking
  • 项目管理
    • 代码规范
    • 包管理
    • 文档
      • GoDoc
      • Markdown
      • Swagger
    • 仓库管理
      • 分支管理
      • 问题管理
      • 里程碑管理
      • 发布管理
    • 持续集成
      • CircleCI
      • TravisCI
由 GitBook 提供支持
在本页
  • 模块初始化
  • 模块精简

这有帮助吗?

在Git上编辑
  1. 项目管理

包管理

模块初始化

以一个简单的iris网站为例

main.go
package main

import "github.com/kataras/iris"

func main() {
	app := iris.Default()
	app.Get("/hello", func(ctx iris.Context) {
		ctx.JSON(iris.Map{
			"say": "hello",
		})
	})
	// listen and serve on http://localhost:8080.
	app.Run(iris.Addr("localhost:8080"))
}

在当前目录中,执行以下命令进行初始化:

go mod init

或者指定模块名:

go mod init {{ module名称 }}

在不指定module名称的时候默认使用目录名作为module名称

初始化完成后会在当前目录中生成一个go.mod文件,格式如下:

go.mod
module {{ module名称 }}

go {{ golang版本 }}

使用以下命令生成包依赖并下载依赖包到$GOPATH中

go get -u -v

依赖包下载后即可执行go build或go run。也可以在还未执行go get的情况下执行go build或go run,这两个指令会事先检查go.mod和本地的依赖包,如果存在缺少依赖包的情况会自动进行go get。

go mod获取依赖包的版本策略是优先获取最新的release,在没有release存在的情况下会获取最新的commit。

下载的依赖包存放在$GOPATH/pkg/mod/目录下。

模块精简

go mod tidy

该命令会将go.mod中缺失的模块补全并移除不需要的模块

上一页代码规范下一页文档

最后更新于5年前

这有帮助吗?