# Go cheatsheet - Flag

## Flag

```go
package main

import (
	"flag"
	"fmt"
)

func main() {
	count := flag.Int("count", 0, "run time count")
	prefix := flag.String("prefix", "", "install path")
	dryrun := flag.Bool("dryrun", true, "dry run program")

	flag.Parse()

	fmt.Println("Count", *count)
	fmt.Println("Prefix", *prefix)
	fmt.Println("Dryrun", *dryrun)
}
```
Pass to command line:
```bash
$ ./main --count=2 --prefix=/path/to/folder --dryrun=false
$ ./main -count=2 -prefix=/path/to/folder -dryrun=false
$ ./main -count 2 -prefix /path/to/folder -dryrun false
```

Also the `-h` and `--help` is auto generated
```bash
$ ./main -h
$ ./main --help
```
