From 75cf575e103f483124cba66b3b9a1cf0c92f49d2 Mon Sep 17 00:00:00 2001 From: Sanjay Bhandari Date: Fri, 4 Dec 2015 15:07:55 -0500 Subject: [PATCH] README: describe interworking with flag package --- README.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/README.md b/README.md index 681bf76..f0009b4 100644 --- a/README.md +++ b/README.md @@ -235,6 +235,30 @@ serverCmd.Flags().Int("port", 1138, "Port to run Application server on") viper.BindPFlag("port", serverCmd.Flags().Lookup("port")) ``` +The use of [pflag](https://github.com/spf13/pflag/) in Viper does not preclude +the use of other packages that use the [flag](https://golang.org/pkg/flag/) +package from the standard library. The pflag package can handle the flags +defined for the flag package by importing these flags. This is accomplished +by a calling a convenience function provided by the pflag package called +AddGoFlagSet(). + +Example: + +```go +package main + +import ( + "flag" + "github.com/spf13/pflag" +) + +func main() { + pflag.CommandLine.AddGoFlagSet(flag.CommandLine) + pflag.Parse() + ... +} +``` + ### Remote Key/Value Store Support To enable remote support in Viper, do a blank import of the `viper/remote`