Skip to content
smallPict
免费开始

Go (Golang) SDK

官方 smallpict-go 库,专为高并发高吞吐的 Go 微服务量身定制。

SmallPict 官方 Go SDK 提供地道的 API 设计、零内存拷贝的密码学 HMAC 签名计算以及基于 Context 的超时取消控制。


安装方式

Shell
go get github.com/tuxnoob/smallpict-go

快速上手示例

Go
package main
import (	"context"	"fmt"	"os"	"time"
	smallpict "github.com/tuxnoob/smallpict-go")
func main() {	client := smallpict.NewClient(		os.Getenv("SMALLPICT_API_KEY"),		os.Getenv("SMALLPICT_SECRET_KEY"),		smallpict.WithTimeout(30*time.Second),		smallpict.WithMaxRetries(3),	)
	ctx := context.Background()
	// 1. 优化图片字节切片	fileBytes, err := os.ReadFile("hero.png")	if err != nil {		panic(err)	}
	result, err := client.Optimize(ctx, fileBytes, smallpict.OptimizeOptions{		Format:   "avif",		Quality:  85,		MaxWidth: 1920,	})	if err != nil {		panic(err)	}
	fmt.Printf("优化后 URL: %s (节省了 %.2f%%)\n", result.URL, result.SavingsPercentage)
	// 2. 查询账户配额	quota, err := client.GetQuota(ctx)	if err == nil {		fmt.Printf("套餐: %s, 已用配额: %d / %d 字节\n", quota.Plan, quota.BytesUsed, quota.QuotaLimitBytes)	}}