Command line - Software Engineering

Parse builtin types

Convert options to correct type early.

drill/flag_types.go
package drill

import (
	"flag"
	"time"
)

func main() {
	var (
		n = flag.Int("i", 7, "integer")
		s = flag.String("s", "hi", "string")
		b = flag.Bool("b", false, "bool")
		d = flag.Duration("d", time.Second, "time.Duration")
	)
	flag.Parse()
	println(*n, *s, *b, *d)
}
$ go run flag_types.go 
7 hi false 1000000000