opts.go 289 B

123456789101112131415161718192021
  1. package stats
  2. type Config struct {
  3. rootdir string
  4. }
  5. type Option func(*Config)
  6. func newConfig(opts ...Option) *Config {
  7. var cfg Config
  8. for _, opt := range opts {
  9. opt(&cfg)
  10. }
  11. return &cfg
  12. }
  13. func WithRootDir(dir string) Option {
  14. return func(cfg *Config) {
  15. cfg.rootdir = dir
  16. }
  17. }