mirror of
https://github.com/Luzifer/rconfig.git
synced 2024-11-08 07:50:07 +00:00
41 lines
935 B
Go
41 lines
935 B
Go
package rconfig_test
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
|
|
"github.com/Luzifer/rconfig/v2"
|
|
)
|
|
|
|
func ExampleParse() {
|
|
// We're building an example configuration with a sub-struct to be filled
|
|
// by the Parse command.
|
|
config := struct {
|
|
Username string `default:"unknown" flag:"user,u" description:"Your name"`
|
|
Details struct {
|
|
Age int `default:"25" flag:"age" description:"Your age"`
|
|
}
|
|
}{}
|
|
|
|
// To have more relieable results we're setting os.Args to a known value.
|
|
// In real-life use cases you wouldn't do this but parse the original
|
|
// commandline arguments.
|
|
os.Args = []string{
|
|
"example",
|
|
"--user=Luzifer",
|
|
}
|
|
|
|
if err := rconfig.Parse(&config); err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
fmt.Printf("Hello %s, happy birthday for your %dth birthday.",
|
|
config.Username,
|
|
config.Details.Age)
|
|
|
|
// You can also show an usage message for your user
|
|
rconfig.Usage()
|
|
|
|
// Output:
|
|
// Hello Luzifer, happy birthday for your 25th birthday.
|
|
}
|