package export import ( "math/rand" "strconv" ) type MysqlDataFetcher struct { Config string } func (mf *MysqlDataFetcher) Fetch(sql string) (*Data, error) { rows := make([][]string, 0, 6) // 插入6个随机数组成的切片,模拟查询要返回的数据集 rows = append(rows, row(), row(), row(), row(), row(), row()) return &Data{ Title: []string{"字段1", "字段2", "字段3", "字段4", "字段5"}, Data: rows, }, nil } func NewMysqlDataFetcher(configStr string) DataFetcher { return &MysqlDataFetcher{ Config: configStr, } } func row() []string { strs := make([]string, 5) nums := rand.Perm(5) for i, num := range nums { strs[i] = strconv.Itoa(num) } return strs }