我们开发程序的时候,需要打开浏览器,省去用户自己手动打开的麻烦,在golang中有方式可以直接代开,我们下边直接用代码展示一下,也当记录,省的来回去找!

Go
1
2
3
4
5
var commands = map[string][]string{
"windows": []string{"rundll32", "url.dll", "FileProtocolHandler"},
"darwin":  []string{"open"},
"linux":   []string{"xdg-open"},
}

定义各个系统利用的命令!我们用golang执行命令调起浏览器并打开指定的url!

Go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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)
}
strRun := strings.Join(run[1:], ",")
 
cmd := exec.Command(run[0], strRun, uri)
err := cmd.Start()
if err != nil {
fmt.Println("请手动打开浏览器,输入:" + uri)
return err
}
fmt.Println("如没有打开浏览器,请手动打开浏览器,输入:" + uri)
return nil
}

是不是很简单啊,golang可以直接生成exe,二进制可执行文件,所以我们可以开发本地化的服务,分发给用户使用,我们可以用浏览器做页面可以做很多本地软件的功能!有了上边打开浏览器的方式,我们给了用户的可执行文件,用户打开可执行文件,就会自动调起浏览器,这样省去手动打开浏览器输入地址的麻烦