Skip to content

isfk/tushare

Repository files navigation

tushare

Tushare数据 Go SDK

使用泛型函数进行请求

proto 定义了接口的 数据结构 Request Response Api*** Fields***, 方便使用

接口说明请参考官网文档

使用

go get -u github.com/isfk/tushare
package main

import (
	"log"
	"time"

	"github.com/isfk/tushare"
	v1 "github.com/isfk/tushare/gen/api/v1"
)

func main() {
	ts := tushare.NewTushare("your token")  // Get token from https://tushare.pro/user/token
	resp, err := tushare.RequestTushare[v1.TradeCalRequest, v1.TradeCalResponse](ts, &tushare.Request[v1.TradeCalRequest]{
		Params:  &v1.TradeCalRequest{CalDate: time.Now().Format("20060102"), Limit: "2", Offset: "0"},
		ApiName: v1.ApiTradeCal,
		Fields:  []string{},
	})
	if err != nil {
		log.Fatalf("%v", err)
		return
	}
	if resp.Resp != nil {
		log.Printf("%v", resp.Resp)
	}
}

// go run main.go
// 2024/01/26 10:44:19 {"list":[{"exchange":"SSE","cal_date":"20240126","is_open":1,"pretrade_date":"20240125"}]}

支持下

开发

新方法

tool 目录放置了 xlsx 文件,从官网复制的数据,项目目录下执行 make xlsx 即可生成 proto 文件,然后 make buf 生成定义文件,编写测试方法即可

笨方法

  • 安装插件 go install github.com/isfk/tushare/protoc-gen-go-tushare@latest
  • 使用快捷命令 message_new 添加定义
  • 使用 buf generate 生成定义
  • stock_test.go 中添加测试方法
  • 修改 README.md 进度

进度