Golang flag.Var() function example
package flag
Var defines a flag with the specified name(2nd parameter) and usage string(3rd parameter). The type and value(1st parameter) of the flag are represented by the first argument, of type Value, which typically holds a user-defined implementation of Value. For instance, the caller could create a flag that turns a comma-separated string into a slice of strings by giving the slice the methods of Value; in particular, Set would decompose the comma-separated string into the slice.
Golang flag.Var() function usage example
package main
import (
"flag"
"fmt"
)
type flagStr struct {
value *string
}
func (f *flagStr) Set(value string) error {
f.value = &value
return nil
}
func (f *flagStr) Get() *string {
return f.value
}
func (f *flagStr) String() string {
if f.value != nil {
return *f.value
}
return ""
}
var (
appFlags struct {
appID flagStr
appSecret flagStr
}
)
func main() {
flag.Var(&appFlags.appID, "FBAppID", "Facebook Application ID")
appFlags.appID.Set("1234567890")
flag.Var(&appFlags.appSecret, "FBAppSecret", "Facebook Application Secret")
flag.Parse()
fmt.Println(flag.Lookup("FBAppID")) // print the Flag struct
fmt.Println(&appFlags.appID)
}
Output :
&{FBAppID Facebook Application ID 1234567890 }
1234567890
Reference :
Advertisement
Something interesting
Tutorials
+9.4k Golang : Qt Yes No and Quit message box example
+7.3k Golang : How to fix html/template : "somefile" is undefined error?
+15.2k Golang : How to check if IP address is in range
+33.6k Golang : How to check if slice or array is empty?
+15.2k Golang : Accurate and reliable decimal calculations
+11.3k Golang : Intercept and process UNIX signals example
+13.9k Golang : Get dimension(width and height) of image file
+10.1k Golang : Test a slice of integers for odd and even numbers
+19.1k Golang : Display list of time zones with GMT
+25.5k Golang : Generate MD5 checksum of a file
+7.1k Nginx : How to block user agent ?