簡単だった.ポータビリティがすごい.
package main import ( "fmt" "runtime" ) func main() { switch runtime.GOOS { case "windows": fmt.Println("running on Windows.") case "darwing": fmt.Println("running on Mac OSX.") case "linux": fmt.Println("running on Linux.") case "freebsd": fmt.Println("running on BSD.") default: fmt.Println("running on Other OS.") } }
[実行結果]
$ ./sample.exe running on Windows.
- darwin
- windows
- freebsd
- linux
くらいあればとりあえずは事足りる気がする. (調べてないけど, Plan9とかも対応してそうだよね....)