type Flags struct {
Path string
Name string
}
func main() {
args := os.Args
if len(args) < 4 { // the program name is the first argument
log.Fatal("not enough arguments")
}
var (
fs = flag.NewFlagSet(args[0], flag.ExitOnError)
f Flags
)
fs.StringVar(&f.Name, "name", "", "file name")
err := fs.Parse(args[2:]) // parse flags without the program name and the 'path' argument
if err != nil {
log.Fatal(err)
}
f.Path = args[1] // get 'path' argument
fmt.Println(f)
// search algorithm ...
}
1条答案
按热度按时间wn9m85ua1#
使用flag.FlagSet来解析没有'path'变量的标志,使用os.args来手动解析'path'变量: