package version import ( "bufio" "net/http" "os" "strconv" "strings" ) type Version struct { Big int Small int Debug int } const ( versionPath = "http://192.168.5.35:6801/share/%E8%8B%8F%E9%80%9A/work_cation_v.txt" defaultVersion = "0.0.0" versionSave = "version.txt" ) var NowVersion = "0.0.1" var NewVersion = "0.0.0" func GetNewVersion(path string) (string, error) { return GetUrl(path) } func GetOldVersion(path string) (string, error) { return GetFile(path) } func PauseVersion(varsionStr string) (Version, error) { varSplit := strings.Split(varsionStr, ".") big, err := strconv.Atoi(varSplit[0]) if err != nil { return Version{}, err } small, err := strconv.Atoi(varSplit[1]) if err != nil { return Version{}, err } debug, err := strconv.Atoi(varSplit[2]) if err != nil { return Version{}, err } version := Version{ Big: big, Small: small, Debug: debug, } return version, nil } func GetUrl(url string) (string, error) { resp, err := http.Get(url) if err != nil { return "", err } defer resp.Body.Close() sc := bufio.NewScanner(resp.Body) var result string for sc.Scan() { result += sc.Text() } return result, nil } func GetFile(path string) (string, error) { file, err := os.Open(path) if err != nil { return "", err } defer file.Close() sc := bufio.NewScanner(file) var result string for sc.Scan() { result += sc.Text() } return result, nil } func WriteFile(path, context string) { file, err := os.OpenFile(path, os.O_WRONLY|os.O_CREATE, 0666) if err != nil { return } defer file.Close() file.WriteString(context) }