欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

golang 学习(二十六)第三方包的下载和安装

程序员文章站 2022-07-12 22:59:01
...

第三方包的下载和安装

go 第三方包下载网址

https://pkg.go.dev/
golang 学习(二十六)第三方包的下载和安装

1.go mod int 初始化项目,生成go.mod文件
golang 学习(二十六)第三方包的下载和安装
2.项目中添加需要引入的包

import (
	"fmt"
	"github.com/shopspring/decimal" //处理float运算精度不准确的问题
	"github.com/tidwall/gjson" //处理json数据
)
func TestPackage(t *testing.T) {
	//加入方法
	fl1 := 5.323
	fl2 := 4.55454
	fl3 := decimal.NewFromFloat(fl1).Add(decimal.NewFromFloat(fl2))
	fmt.Println(fl3)//9.87754
	var json = `{"name":{"first":"Janet","last":"博客网"},"age":47}`
	value := gjson.Get(json, "name.last")
	fmt.Println(value.String())//博客网
}

命 令执行

golang 学习(二十六)第三方包的下载和安装
生成的目录
golang 学习(二十六)第三方包的下载和安装
golang 学习(二十六)第三方包的下载和安装
go.mod文件添加如下代码

module demo

go 1.14

require (
	github.com/shopspring/decimal v1.2.0
	github.com/tidwall/gjson v1.6.0
)

go.sum文件

github.com/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXYbsQ=
github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=
github.com/tidwall/gjson v1.6.0 h1:9VEQWz6LLMUsUl6PueE49ir4Ka6CzLymOAZDxpFsTDc=
github.com/tidwall/gjson v1.6.0/go.mod h1:P256ACg0Mn+j1RXIDXoss50DeIABTYK1PULOJHhxOls=
github.com/tidwall/match v1.0.1 h1:PnKP62LPNxHKTwvHHZZzdOAOCtsJTjo6dZLCwpKm5xc=
github.com/tidwall/match v1.0.1/go.mod h1:LujAq0jyVjBy028G1WhWfIzbpQfMO8bBZ6Tyb0+pL9E=
github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4=
github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=

安装第三方包的几种方法

  1. go get 包名称 (全局)
    go get github.com/shopsring/decimal
  2. go modownload (全局)
    依赖包会自动下载到$GOPATH/pkg/mod,多个项目可以共享缓存的 mod,注意使用 go mod
    download 的时候首先需要在你的项目里面引入第三方包
  3. go mod vendor
    将依赖复制到当前项目的 vendor 下 (本项目)

下载的时候,发现失败

golang 学习(二十六)第三方包的下载和安装
如下方法解决:

  1. https://goproxy.io/zh/一个为Go模块而生的全球代理

  2. 如果您使用的 Go 版本是 1.13 及以上 (推荐)

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

  3. 如果将go env -w GO111MODULE=on设为on, 则会使用1.13的mod包特性,下载的包不会在src目录下