go 语言第三方包的使用

相关介绍

go lang 提供了丰富的第三方包,您可以通过  https://pkg.go.dev/ 搜索包及查看使用说明。

以 decimal 为例

1 搜索 decimal

2 点击搜索结果打开 decimal 包详情页面,找到安装命令

go get github.com/shopspring/decimal

3 安装完成使用 decimal 工具包

package main

import (
	"fmt"

	"github.com/shopspring/decimal"
)

func main() {
	price, err := decimal.NewFromString("136.02")
	if err != nil {
		panic(err)
	}
	quantity := decimal.NewFromInt(3)
	fee, _ := decimal.NewFromString(".035")
	taxRate, _ := decimal.NewFromString(".08875")
	subtotal := price.Mul(quantity)
	preTax := subtotal.Mul(fee.Add(decimal.NewFromFloat(1)))
	total := preTax.Mul(taxRate.Add(decimal.NewFromFloat(1)))
	fmt.Println("Subtotal:", subtotal)                      // Subtotal: 408.06
	fmt.Println("Pre-tax:", preTax)                         // Pre-tax: 422.3421
	fmt.Println("Taxes:", total.Sub(preTax))                // Taxes: 37.482861375
	fmt.Println("Total:", total)                            // Total: 459.824961375
	fmt.Println("Tax rate:", total.Sub(preTax).Div(preTax)) // Tax rate: 0.08875
}