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
+16k Golang : How to reverse elements order in map ?
+10.5k Generate Random number with math/rand in Go
+10.6k Golang : How to delete element(data) from map ?
+25k Golang : Create PDF file from HTML file
+5.4k Golang : fmt.Println prints out empty data from struct
+13.6k Golang : Strings comparison
+18.8k Golang : How to make function callback or pass value from function as parameter?
+5.4k Golang *File points to a file or directory ?
+8.1k Golang : Append and add item in slice
+9.2k Golang : How to control fmt or log print format?
+11.9k Golang : Convert decimal number(integer) to IPv4 address
+15.4k Golang : invalid character ',' looking for beginning of value