コードブロックから現在のGOPATH
を取得するにはどうすればよいですか?コードから現在のGOPATHを取得する方法
runtime
はGOROOT
を持っています
// GOROOT returns the root of the Go tree.
// It uses the GOROOT environment variable, if set,
// or else the root used during the Go build.
func GOROOT() string {
s := gogetenv("GOROOT")
if s != "" {
return s
}
return defaultGoroot
}
私はGOROOT
がGOPATH
に置き換えられた機能を作ることができるが、このためのbuildinがありますか?
go 1.8では、GOPATH env varはオプションです。ユーザーがそれを持っていない場合はどうなりますか?既定値を取得する方法はありますか? Go実行時にはgopathを取得する方法があるはずだから、Go自身がそれを把握できるようにする必要があります。 – tothemario
@tothemario Go 1.8以降の有効な 'GOPATH'をどうやって得ることができるかを私は公表しました。しかし、理想的には、ランタイムはユーザーの 'GOPATH'を取得する方法を提供するべきであると私は同意します。 – tmh
@tothemarioは、Go 1.8のデフォルトのgoパス実装のコードを使って答えを更新しました。 – codefreak