package collector import "strings" type Collector struct { Version string Windows_X64 *Op_Item Linux_X64 *Op_Item Linux_AArch64 *Op_Item Mac_X64 *Op_Item Mac_AArch64 *Op_Item } type Op_Item struct { FileType string Arch string Url string Sha256Url string FileName string } var Collectors []*Collector var Collector_Archive_Url string = Collector_Url + "/archive/" var Collector_Url string = "https://jdk.java.net" func build_Op_Item(file_type, arch, download_url, sha256_url, file_name string) *Op_Item { return &Op_Item{ FileType: file_type, Arch: "x64", Url: download_url, Sha256Url: sha256_url, FileName: file_name, } } func getFileNameByDownLoadUrl(url string) string { downloads := strings.Split(url, "/") file_name := downloads[len(downloads)-1] return file_name } func getFileTypeByFileName(filename string) string { filenames := strings.Split(filename, ".") switch filenames[len(filenames)-1] { case "zip": return "zip" case "gz": return "tar.gz" default: return filenames[len(filenames)-1] } }