Question : golang json time
Answered by : smantha-pettman
package main
import ( "log" "github.com/catamat/config"
)
type configJSON struct { Word string `json:"word"` Number int `json:"number"` Check bool `json:"check"` Slice []int `json:"myslice"`
}
type configEnv struct { TmpDir string `env:"TMPDIR"` HOME string Shell string `env:"SHELL"` User string `env:"USER"` GoRoot string `env:"GOROOT"` CgoCflags string `env:"CGO_CFLAGS"` VscodePid int `env:"VSCODE_PID"` PipeLogging bool `env:"PIPE_LOGGING"` Slice []int `env:"MY_SLICE" vsep:":"`
}
type configFlags struct { Word string `flag:"-word"` Number int `flag:"-number"` Check bool `flag:"-check"` Slice []int `flag:"-myslice" vsep:","`
}
func main() { /* { "word": "TestWord", "number": 123456, "check": true, "myslice": [1,1,2,3,5,8] } */ log.Println("JSON:") cfg1 := configJSON{} config.FromJSON(&cfg1, "config.json") log.Println(cfg1) /* os.Setenv("MY_SLICE", "111:222:333") */ log.Println("Env:") cfg2 := configEnv{} config.FromEnv(&cfg2) log.Println(cfg2) /* ./example -word=TestWord -number=123456 -check=true -myslice=1,1,2,3,5,8 */ log.Println("Flags:") cfg3 := configFlags{} config.FromFlags(&cfg3) log.Println(cfg3)
}
Source : https://golangscript.com/g/a-simple-package-to-read-configurations-from-json-file-environment-and-flags | Last Update : Tue, 19 Apr 22