package common import ( "flag" "fmt" "leit.com/leit_seat_aps/glog" "reflect" "regexp" "strings" "testing" "time" ) type User struct { Name string `json:"name"` Create_time string `json:"create_time"` } // 测试基于Struct某个字段值对Struct数组排序 func TestSort(t *testing.T) { results := []interface{}{} //这里必须定义成[]interface{}{} u1 := User{ Name:"lxw", Create_time:"2018-04-01", } u2 := User{ Name:"zll", Create_time:"2018-03-01", } u3 := User{ Name:"leo", Create_time:"2018-03-21", } u4 := User{ Name:"sarah", Create_time:"2018-03-02", } results = append(results,u1) results = append(results,u2) results = append(results,u3) results = append(results,u4) // 使用自定义的字段排序 SortBody(results,func(p,q * interface{}) bool{ v :=reflect.ValueOf(*p) i := v.FieldByName("Create_time") v =reflect.ValueOf(*q) j := v.FieldByName("Create_time") return i.String() < j.String() }) fmt.Println(results) } func TestSortFolderFile(t *testing.T) { dir := "D:\\Go\\gopath\\src\\lapp_-sja_-aps\\doc\\TOD\\outbox" listAll(dir, 0) } func TestTime(t *testing.T) { var ( tm string ) s := "abcdef" fmt.Println(s[1-1:4]) tm = "20200204080000" fmt.Println(DateParse(tm, "YmdHis")) fmt.Println(int(time.Now().Month())) fmt.Println(ConvInt2FormatString(54321, 8)) fmt.Println(Date(time.Now().Unix(), "YYMMDD:HHmmss")) } func TestOther(t *testing.T) { var( chareg *regexp.Regexp cha [][]string i,col,iloop,imod int uc []rune colname string retcol string ) colname = "AZ" chareg = regexp.MustCompile("[a-zA-Z]") cha = chareg.FindAllStringSubmatch(colname, -1) // 获取字符的列值 col = 0 for i = 0; i < len(cha); i++ { uc = []rune(strings.ToUpper(cha[i][0])) col = col + i*26 + (int(uc[0]) - 65) } iloop = col / 26 imod = col % 26 retcol = strings.Repeat("A",iloop) retcol = retcol + string('A' + imod) fmt.Println(retcol) fmt.Println(AddExcelColLen("AB",5)) } func TestGlog(t *testing.T) { baseDir := "" flag.StringVar(&baseDir, "dir", "log", "running in a directory") flag.Parse() defer glog.Flush() fmt.Println(baseDir) baseDir = EnsureDir(baseDir) fmt.Println(baseDir) //linux系统调用 //pathLogDir := filepath.Join(baseDir, "glog") //备注,因为是打包成windows服务,路径需要转义 //pathLogDir, _ = GetCurrentPath(pathLogDir) //fmt.Println("pathLogDir = ",pathLogDir) glog.DefaultInit(true, baseDir) glog.Infoln("启动日志", "InitDB return success") /***** *@param1:文件名称 *@param2:参数key值 *@param3:打印的变量值 ****************/ one := "测试" glog.Infoln("年缴费测试", "one := ", one) }