因为 Go 可以编译 Windows
Darwin
Linux
三个平台的二进制文件,如果编写一个 Web 项目,启动后可以自动打开浏览器,那就非常方便了。
首先看下三个平台打开浏览器的命令
Darwin
Windows
1 $ start http://baidu.com
Linux
1 $ xdg-open http://baidu.com
接下来需要 Go 能区分平台,这里需要 runtime
包。
1 2 3 import "runtime" platform := runtime.GOOS // darwin windows linux
好接下来就可以写代码了
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 package main// 打开系统默认浏览器 import ( "fmt" "os/exec" "runtime" ) var commands = map [string ]string { "windows" : "start" , "darwin" : "open" , "linux" : "xdg-open" , } func Open (uri string ) error { run, ok := commands[runtime.GOOS] if !ok { return fmt.Errorf("don't know how to open things on %s platform" , runtime.GOOS) } cmd := exec.Command(run, uri) return cmd.Start() } func main () { Open("http://baidu.com" ) }