package main
import (
"flag"
"fmt"
"os"
)
func main() {
var strParam string
var intParam int
var boolParam bool
flag.StringVar(&strParam, "str", "", "a string parameter")
flag.IntVar(&intParam, "int", 0, "an integer parameter")
flag.BoolVar(&boolParam, "bool", false, "a boolean parameter")
flag.Parse()
if boolParam {
if strParam == "" {
fmt.Println("When bool parameter is true, string parameter cannot be empty")
os.Exit(1)
}
if intParam <= 0 {
fmt.Println("When bool parameter is true, integer parameter must be greater than 0")
os.Exit(1)
}
}
fmt.Printf("strParam: %s\n", strParam)
fmt.Printf("intParam: %d\n", intParam)
fmt.Printf("boolParam: %v\n", boolParam)
}