36 lines
707 B
Go
36 lines
707 B
Go
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
|
||
}
|