ホームページ > バックエンド開発 > Golang > Go で実行可能パスを確実に見つけるにはどうすればよいですか?

Go で実行可能パスを確実に見つけるにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-23 18:04:11
オリジナル
957 人が閲覧しました

How Can I Reliably Find the Executable Path in Go?

Go での実行可能ファイルへのパスの検索

Go では、開発者はコンパイルされたプログラムの実行可能ファイルのパスを見つける必要があることがよくあります。このパスは、オペレーティング システム、現在の作業ディレクトリ、および実行可能ファイルがシステムの PATH 変数にあるかどうかによって異なります。

Using os.Args[0]

最初に、開発者は os.Args[0] を使用して実行可能パスを取得しようとするかもしれません。このアプローチは一部のシナリオでは機能する可能性がありますが、制限もあります。実行可能ファイル名に相対パスまたは絶対パスを示す文字が含まれている場合 (「../foo」など)、完全パスではなくファイル名のみが返されます。

Leveraging os.Executable ( Go 1.8 )

Go 1.8 以降、os.Executable 関数はより堅牢な実行可能パスを見つけるためのソリューション。この関数は現在の実行可能ファイルの絶対パスを返すため、追加のチェックは必要ありません。

コード例:

import (
    "os"
    "path"
    "log"
)

func main() {
    ex, err := os.Executable()
    if err != nil { log.Fatal(err) }
    dir := path.Dir(ex)
    log.Print(dir)
}
ログイン後にコピー

このコードを実行すると、呼び出し方法に関係なく、実行可能ファイルを含むディレクトリ (例: "./foo"、"foo")。

以上がGo で実行可能パスを確実に見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート