package main import ( "log" "os" "git.apinb.com/quant/gostock/internal/config" "git.apinb.com/quant/gostock/internal/impl" "git.apinb.com/quant/gostock/internal/logic/strategy" "git.apinb.com/quant/gostock/internal/logic/types" "github.com/gocarina/gocsv" ) var ( ServiceKey = "gostock" ) func main2() { log.Println("Hello Cli!") config.New(ServiceKey) impl.NewImpl() strategy.GenMarkData("601899.SH") } func main() { log.Println("Hello Cli!") config.New(ServiceKey) impl.NewImpl() data_ok := []*types.ResultData{} data_not := []*types.ResultData{} for _, code := range strategy.GetStocks() { basic := strategy.GetBasic(code) if ok, data := strategy.MustFilter(basic); ok { data_ok = append(data_ok, data) } else { data_not = append(data_not, data) } } WriteResults(data_ok, "ok") WriteResults(data_not, "not") log.Println("Done!") } func WriteResults(data []*types.ResultData, tag string) { rf, err := os.OpenFile("./result/stocks_"+tag+".csv", os.O_WRONLY|os.O_CREATE|os.O_TRUNC, os.ModePerm) if err != nil { panic(err) } defer rf.Close() err = gocsv.MarshalFile(&data, rf) // Use this to save the CSV back to the file if err != nil { panic(err) } }