summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorAlex Flint <[email protected]>2021-09-18 08:50:33 -0700
committerGitHub <[email protected]>2021-09-18 08:50:33 -0700
commit0f0b4b5c3f9dfab413c3127830b869bc7d4b0e27 (patch)
treeba0b72435521836a0b3653e4494b1fa09e5d1dbc /README.md
parentb157e8d10a29fcea34b33988776848a322ef69dc (diff)
Update README.md
Diffstat (limited to 'README.md')
-rw-r--r--README.md18
1 files changed, 8 insertions, 10 deletions
diff --git a/README.md b/README.md
index 855c02e..dab2996 100644
--- a/README.md
+++ b/README.md
@@ -158,27 +158,25 @@ var args struct {
arg.MustParse(&args)
```
-### Priority
-
-You can use both command line arguments and environmental variables at the same time.
-The priority is as follows: <b>command line arguments</b> -> if empty we check <b>environmental variables</b> -> and then we use <b>default values</b>
+### Default values (before v1.2)
```go
var args struct {
- Command string `arg:"-c,env:COMMAND" help:"Command to execute" default:"remove"`
- File string `arg:"-f,env:FILE_NAME"`
+ Foo string
+ Bar bool
}
+arg.Foo = "abc"
arg.MustParse(&args)
```
-### Default values (before v1.2)
+### Combining command line options, environment variables, and default values
+
+You can combine command line arguments, environment variables, and default values. Command line arguments take precedence over environment variables, which take precedence over default values. This means that we check whether a certain option was provided on the command line, then if not, we check for an environment variable (only if an `env` tag was provided), then if none is found, we check for a `default` tag containing a default value.
```go
var args struct {
- Foo string
- Bar bool
+ Test string `arg:"-t,env:TEST" default:"something"`
}
-arg.Foo = "abc"
arg.MustParse(&args)
```