自动显示标准库的godoc

使用godoc时,由于环境变量GOPATH的缘故,文档中会出现非常多的内容,1.8.3中不知道为什么,点击标准库链接也无法单独查看标准库。每次运行修改GOPATH也是相当麻烦,索性自己搞个小工具,自动处理一下,代码如下,编译后自己用就OK了。

package main
import (
    "flag"
    "os"
    "os/exec"
    "fmt"
)
const (
    gopathEnv = "GOPATH"
)
var httpFlag string
func init() {
    flag.StringVar(&httpFlag, "http", ":9090", "xgodoc -http=:9090")
}
func main() {
    flag.Parse()
    fmt.Printf("http://localhost:%s\n",httpFlag); 
    httpArg := "-http=" + httpFlag
    gopath := os.Getenv(gopathEnv)
    os.Setenv(gopathEnv, "")
    exec.Command("godoc", httpArg).Start()
    os.Setenv(gopathEnv, gopath)
}