20 Golang中使用第三方包

learninginto · · 424 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

https://pkg.go.dev/查找常见的golang第三方包

1. 找到需要下载安装的第三方包的地址
  • 以解决float精度丢失的包decimal为例

https://github.com/shopspring/decimal

2. 安装该包
  • 方法一
go get 包名称(全局)
//eg:go get github.com/shopspring/decimal
  • 方法二

依赖包会自动下载到$GOPATH/pkg/mod,多个项目可以共享缓存的mod,注意使用go mod download的时候首先需要在你的项目里面引入第三方包

go mod download
  • demo
package main
import (
    "fmt"
    "github.com/shopspring/decimal"
)

func main(){
    var num1 float64 = 3.1
    var num2 float64 = 4.2
    d1 := decimal.NewFromFloat(num1).Add(decimal.NewFromFloat(num2))
    fmt.Println(d1)//7.3
}
  • 方法三

将依赖复制到当前项目的vender下,使用时需要在项目里引入第三方包

go mod vendor
  • get mod命令
命令 说明
init 在当前文件夹下初始化一个新的module,创建go.mod文件
download 下载依赖的module到本地cache
edit 编辑go.mod文件
tidy 增加丢失的module,去掉未用的module
vendor 将依赖复制到vendor下
  • gjson包
package main

import "github.com/tidwall/gjson"

const json = `{"name":{"first":"Janet","last":"Prichard"},"age":47}`

func main() {
    value := gjson.Get(json, "name.last")
    println(value.String())
}

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:learninginto

查看原文:20 Golang中使用第三方包

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

424 次点击  
加入收藏 微博
下一篇:Go RPC
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传