35 lines
680 B
Markdown
35 lines
680 B
Markdown
parsers
|
|
=======
|
|
This directory contains pre-built, custom parsers that can be used with `env.ParseWithFuncs`
|
|
to facilitate the parsing of envs that are not basic types.
|
|
|
|
Example Usage:
|
|
|
|
```golang
|
|
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"log"
|
|
"net/url"
|
|
|
|
"github.com/caarlos0/env"
|
|
"github.com/caarlos0/env/parsers"
|
|
)
|
|
|
|
type config struct {
|
|
ExampleURL url.URL `env:"EXAMPLE_URL" envDefault:"https://google.com"`
|
|
}
|
|
|
|
func main() {
|
|
cfg := config{}
|
|
|
|
if err := env.ParseWithFuncs(&cfg, env.CustomParsers{
|
|
parsers.URLType: parsers.URLFunc,
|
|
}); err != nil {
|
|
log.Fatal("Unable to parse envs: ", err)
|
|
}
|
|
|
|
fmt.Printf("Scheme: %v Host: %v\n", cfg.ExampleURL.Scheme, cfg.ExampleURL.Host)
|
|
}
|
|
``` |