program tip

Go의 argv [0]에 해당하는 것은 무엇입니까?

radiobox 2020. 8. 22. 08:31
반응형

Go의 argv [0]에 해당하는 것은 무엇입니까?


런타임에 내 프로그램의 이름을 어떻게 얻을 수 있습니까? Go가 C / C ++의 argv [0]에 해당하는 것은 무엇입니까? 나에게 올바른 이름으로 사용법을 생성하는 것이 유용합니다.

업데이트 : 일부 코드를 추가했습니다.

package main

import (
    "flag"
    "fmt"
    "os"
)

func usage() {
    fmt.Fprintf(os.Stderr, "usage: myprog [inputfile]\n")
    flag.PrintDefaults()
    os.Exit(2)
}

func main() {
    flag.Usage = usage
    flag.Parse()

    args := flag.Args()
    if len(args) < 1 {
        fmt.Println("Input file is missing.");
        os.Exit(1);
    }
    fmt.Printf("opening %s\n", args[0]);
    // ...
}

import "os"
os.Args[0] // name of the command that it is running as
os.Args[1] // first command line parameter, ...

인수는 http://golang.org/pkg/os/#Variablesos 패키지에 표시됩니다.

인수 처리를 수행하려는 경우 http://golang.org/pkg/flagflag 패키지 가 선호되는 방법입니다. 특히 귀하의 경우flag.Usage

제공 한 예에 대한 업데이트 :

func usage() {
    fmt.Fprintf(os.Stderr, "usage: %s [inputfile]\n", os.Args[0])
    flag.PrintDefaults()
    os.Exit(2)
}

트릭을해야한다


os 패키지 os.Args[0]에서 사용

package main
import "os"
func main() {
    println("I am ", os.Args[0])
}

참고 URL : https://stackoverflow.com/questions/3356011/whats-gos-equivalent-of-argv0

반응형