如何在運行時獲得自己的程序名稱?什麼是C/C++的argv [0]的等價物?對我來說,使用正確的名字來產生用法是很有用的。什麼是go的等價於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]);
// ...
}
代替檢測的'長度flag.Args()'在這裏你可以使用['flag.NArg()'](http://golang.org/pkg/flag/#NArg) – 2013-08-23 20:24:56
正確的答案是'o s.Args []',而不是'flag.Args()'。標誌包用於解析命令行參數,如'-this -that','flag.Args()'返回未解析的其餘參數。這裏有一個例子:http://play.golang.org/p/_YtTcqLWnl – fiorix 2014-05-29 01:19:47