hmm, I think, that it still prints Usage()
when no flag value
my code using FlagSet
package main
import (
"flag"
"fmt"
"os"
)
type Flags struct {
name *string
}
func parse() *Flags {
result := &Flags{}
fs := flag.NewFlagSet("arguments", flag.ContinueOnError)
result.name = fs.String("i", "default", "enter app name")
if err := fs.Parse(os.Args[1:]); err != nil {
fmt.Println(err)
// return result
}
if *result.name == "" {
fmt.Println("you must enter something")
}
return result
}
func main() {
f := parse()
fmt.Println(*f.name)
}
`