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