godoc的http模式如何只显示std doc(已解决)

下面命令可以只显示第三方package的doc

godoc -goroot=$GOPATH -http=:6060

但下面命令则会显示go std doc + 第三方package的doc

godoc -goroot=$GOROOT -http=:6060

请问,如何只显示go std doc?

go version: go1.5beta1 linux/amd64

共 5 个回复


heimeil

没玩过godoc,一直都是看本站的,暂时将GOPATH从环境变量里移除应该可以吧

# 0

chenhao

每次修改环境变量有点麻烦,期待更好的方法.

# 1

jimmykuu

试试这样:

GOPATH='' godoc -http=:6060
# 2

voidint

生成仅包含标准库的godoc的方法就是暂时将GOPATH清空,可以手动清空,也可以通过程序清空。我选择的是后者。

package main

import (
    "flag"
    "os"
    "os/exec"
)

const (
    gopathEnv = "GOPATH"
)

var httpFlag string

func init() {
    flag.StringVar(&httpFlag, "http", ":9090", "xgodoc -http=:9090")
}

func main() {
    flag.Parse()

    httpArg := "-http=" + httpFlag

    gopath := os.Getenv(gopathEnv)

    os.Setenv(gopathEnv, "")
    exec.Command("godoc", httpArg).Start()

    os.Setenv(gopathEnv, gopath)
}
# 3

chenhao

@#3 的方法最方便.

# 4