自动更新服务器代码片段
发布时间:2020-12-16 18:34:54 所属栏目:大数据 来源:网络整理
导读:package main import ( "fmt" "io/ioutil" "log" "path/filepath" "sort" "strconv" "strings" ) func main() { list := Namesort(parse( "server" )) sort.Sort(list) fmt.Println(list) } func parse(dirpath string ) [] string { dirname := filepath.Ba
package main import ( "fmt"
"io/ioutil"
"log"
"path/filepath"
"sort"
"strconv"
"strings"
) func main() { list := Namesort(parse("server")) sort.Sort(list) fmt.Println(list) } func parse(dirpath string) []string { dirname := filepath.Base(dirpath) var l []string list, err := ioutil.ReadDir(dirpath) if err != nil { log.Println(err) return l } for _, v := range list { if strings.Contains(v.Name(), dirname) { if toint(v.Name()) == -1 { continue
} l = append(l, v.Name()) } } return l } type Namesort []string func (self Namesort) Swap(i, j int) { self[i], self[j] = self[j], self[i] } func (self Namesort) Len() int { return len(self) } func (self Namesort) Less(i, j int) bool { ai := toint(self[i]) aj := toint(self[j]) if ai != -1 && aj != -1 { return ai < aj } return false } func toint(str string) int { list := strings.Split(str, "_") if len(list) <= 1 { return -1 } n := list[len(list)-1] num, err := strconv.Atoi(n) if err != nil { return -1 } return num } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |