Skip to content

Instantly share code, notes, and snippets.

@anjanashankar9
Created January 30, 2022 17:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anjanashankar9/3ff20898efa7aedd79d2794025501cf6 to your computer and use it in GitHub Desktop.
Save anjanashankar9/3ff20898efa7aedd79d2794025501cf6 to your computer and use it in GitHub Desktop.
package main
import (
"flag"
"fmt"
"os"
)
// Define the flag
var help = flag.Bool("help", false, "Show help")
var boolFlag = false
var stringFlag = "Hello There!"
var intFlag int
func main() {
// Bind the flag
flag.BoolVar(&boolFlag, "boolFlag", false, "A boolean flag")
flag.StringVar(&stringFlag, "stringFlag", "Hello There!", "A string flag")
flag.IntVar(&intFlag, "intFlag", 4, "An integer flag")
// Parse the flag
flag.Parse()
if !isFlagPassed("boolFlag") {
fmt.Println("BoolFlag is not passed !!!")
}
// Usage Demo
if *help {
flag.Usage()
os.Exit(0)
}
fmt.Println("Boolean Flag is ", boolFlag)
fmt.Println("String Flag is ", stringFlag)
fmt.Println("Int Flag is ", intFlag)
}
func isFlagPassed(name string) bool {
found := false
flag.Visit(func(f *flag.Flag) {
if f.Name == name {
found = true
}
})
return found
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment