加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

自动更新服务器代码片段

发布时间: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
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读