Go で GOPATH に相対するファイルを開く
GOPATH 内に保存されたファイルを操作する場合、絶対パスの使用は不便になる場合があります。これに対処するために、Go 標準ライブラリは filepath パッケージを使用したソリューションを提供します。
filepath パッケージは、相対パスを絶対形式に変換する Abs() 関数を提供します。この絶対パスを使用してファイルをロードできます。たとえば、次のコードについて考えてみましょう。
package main import ( "fmt" "io/ioutil" "path/filepath" ) func main() { // Retrieve the absolute path of the file absPath, err := filepath.Abs("../mypackage/data/file.txt") if err != nil { fmt.Println(err) return } // Load the file using the absolute path fileBytes, err := ioutil.ReadFile(absPath) if err != nil { fmt.Println(err) return } }
Abs() を使用すると、実行中のバイナリの作業ディレクトリに関係なく、相対パスをファイルのロードに使用できる絶対パスに変換できます。
ファイルがメイン パッケージと同じパッケージ内にある場合は、パスの先頭の ../mypackage/ 部分を省略できることに注意してください。さらに、特定のプログラム構造とファイルの場所に基づいてパスを調整することを忘れないでください。
以上がGo で GOPATH に関連するファイルを開くにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。