go-sample-webpage/vendor/github.com/lestrrat-go/option/option.go
2021-11-04 02:14:51 +01:00

32 lines
626 B
Go

package option
// Interface defines the minimum interface that an option must fulfill
type Interface interface {
// Ident returns the "indentity" of this option, a unique identifier that
// can be used to differentiate between options
Ident() interface{}
// Value returns the corresponding value.
Value() interface{}
}
type pair struct {
ident interface{}
value interface{}
}
// New creates a new Option
func New(ident, value interface{}) Interface {
return &pair{
ident: ident,
value: value,
}
}
func (p *pair) Ident() interface{} {
return p.ident
}
func (p *pair) Value() interface{} {
return p.value
}