github.com/keysonzzz/kmg@v0.0.0-20151121023212-05317bfd7d39/kmgPlatform/kmgPlatform.go (about) 1 package kmgPlatform 2 3 import "runtime" 4 5 type Platform struct { 6 Os string 7 Arch string 8 } 9 10 func (p Platform) Compatible(other Platform) bool { 11 return p == other 12 } 13 14 func (p Platform) String() string { 15 return p.Os + "_" + p.Arch 16 } 17 18 func (p Platform) GetExeSuffix() string { 19 if p.Os == "windows" { 20 return p.Os + "_" + p.Arch + ".exe" 21 } 22 return p.Os + "_" + p.Arch 23 } 24 25 var LinuxAmd64 = Platform{Os: "linux", Arch: "amd64"} 26 var DarwinAmd64 = Platform{Os: "darwin", Arch: "amd64"} 27 var WindowsAmd64 = Platform{Os: "windows", Arch: "amd64"} 28 29 //编译这个软件的平台 30 func GetCompiledPlatform() Platform { 31 return Platform{ 32 Os: runtime.GOOS, 33 Arch: runtime.GOARCH, 34 } 35 } 36 37 func IsLinux() bool { 38 return runtime.GOOS == "linux" 39 } 40 41 func IsDarwin() bool { 42 return runtime.GOOS == "darwin" 43 } 44 45 func IsWindows() bool { 46 return runtime.GOOS == "windows" 47 }