golang使用Go Modules

栏目: IT技术 · 发布时间: 6年前

内容简介:go modules是golang在v1.11版本开始支持的新型依赖管理系统,它的出现取代了$GOPATH/src,每个项目下仅使用一个go.mod文件管理依赖。go mod 命令0 . 目录结构:

关于Go Modules

go modules是golang在v1.11版本开始支持的新型依赖管理系统,它的出现取代了$GOPATH/src,每个项目下仅使用一个go.mod文件管理依赖。

环境准备

0 . golang v1.11+版本

1 . 终端命令 go env -w GO111MODULE=on 开启go modules功能。

2 . 设置GOPROXY,针对默认代理proxy.golang.org被墙的问题。

go env -w GOPROXY=https://goproxy.cn,direct

3 . 设置GONOPRIVATE,针对公司内网代码无法拉取的问题,同时会默认设置GONOPROXY和GONOSUMDB。

go env -w GOPRIVATE=*.公司内网代码仓库域名,如*.qq.com

示例

go mod 命令

命令 说明
download 下载依赖包
edit 编辑go.mod
graph 打印模块依赖图
init 初始化项目依赖
tidy 移除无用依赖
vendor 将依赖打包到vendor
verify 核验依赖的正确性

0 . 目录结构:

project
.
└── main
    └── json.go
└── go.mod

1 . 初始化项目依赖

在项目根目录下执行 go mod init project

2 . 新增项目依赖

执行 go get github.com/json-iterator/go ,后面可接对应版本号,如 go get github.com/json-iterator/go@v1.1.9

3 . 编写项目代码/main/json.go

package main  
  
import (  
   "fmt"  
   jsoniter "github.com/json-iterator/go"  
)  
  
const (  
   RED = iota  
   WHITE  
)  
  
type Moon struct {  
   Left int  
   Right int  
}  
  
func main() {  
   moon := &Moon{  
      Left:  RED,  
      Right: WHITE,  
   }  
   moonJsonStr, err := jsoniter.Marshal(moon)  
   if err != nil {  
      fmt.Println(err.Error())  
      return  
   }  
   fmt.Println(string(moonJsonStr))  
   //or  
   //fmt.Println(*(*string)(unsafe.Pointer(&moonJsonStr)))}

4 . 执行 go run main/json.go
参考链接: https://blog.golang.org/using-go-modules


以上所述就是小编给大家介绍的《golang使用Go Modules》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Foundations of PEAR

Foundations of PEAR

Good, Nathan A./ Kent, Allan / Springer-Verlag New York Inc / 2006-11 / $ 50.84

PEAR, the PHP Extension and Application Repository, is a bountiful resource for any PHP developer. Within its confines lie the tools that you need to do your job more quickly and efficiently. You need......一起来看看 《Foundations of PEAR》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

html转js在线工具
html转js在线工具

html转js在线工具