package main import ( "errors" "fmt" "os" "strconv" ) // The arguments to this program type args struct { Radix uint } func parseArgs() (args, error) { if len(os.Args) == 2 { if radix, err := strconv.ParseUint(os.Args[1], 0, 0); err == nil { if radix > 1 { return args{uint(radix)}, nil } else { return args{}, errors.New("Radix must be an integer above 1.") } } else { return args{}, fmt.Errorf( "Argument must be an integer above 1 [%w].", err) } } else if len(os.Args) < 2 { return args{}, errors.New("Please provide an argument (radix to study).") } else { return args{}, errors.New("Too many arguments provided.") } }