golang 中程序中直接打开浏览器
2018年8月5日
我们开发程序的时候,需要打开浏览器,省去用户自己手动打开的麻烦,在golang中有方式可以直接代开,我们下边直接用代码展示一下,也当记录,省的来回去找!
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!
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,二进制可执行文件,所以我们可以开发本地化的服务,分发给用户使用,我们可以用浏览器做页面可以做很多本地软件的功能!有了上边打开浏览器的方式,我们给了用户的可执行文件,用户打开可执行文件,就会自动调起浏览器,这样省去手动打开浏览器输入地址的麻烦