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
+14.8k Golang : Find commonalities in two slices or arrays example
+23.7k Find and replace a character in a string in Go
+30k Golang : Get time.Duration in year, month, week or day
+35.9k Golang : Integer is between a range
+12k Golang : Find and draw contours with OpenCV example
+8.1k Golang : Append and add item in slice
+9.1k Golang : Simple histogram example
+80.6k Golang : How to return HTTP status code?
+43.5k Golang : Get hardware information such as disk, memory and CPU usage
+8.8k Golang : Executing and evaluating nested loop in html template
+5.2k Golang : Convert lines of string into list for delete and insert operation
+9.2k Golang : Write multiple lines or divide string into multiple lines