如何从代码中获取当前的 GOPATH?
可以使用go env
命令来获取与Go环境相关的配置信息,其中就包括GOPATH。
以下是一种通过代码获取当前GOPATH的方法:
package main import ( "fmt" "os/exec" "strings" ) func getCurrentGOPATH() (string, error) { cmd := exec.Command("go", "env", "GOPATH") output, err := cmd.Output() if err != nil { return "", err } gopath := strings.TrimSpace(string(output)) return gopath, nil } func main() { gopath, err := getCurrentGOPATH() if err != nil { fmt.Println("Failed to get GOPATH:", err) return } fmt.Println("Current GOPATH:", gopath) }
在上述代码中,我们使用os/exec
包来执行go env GOPATH
命令,并获取命令的输出。然后,我们将输出进行处理,去除首尾的空格,得到当前的GOPATH。