VM
Size: a a a
VM
М
VM
М
VM
М
RS
type Service interface { /*…*/ }
type Handler struct {
s Service
}
func NewHandler(s Service) *Handler {
return &Handler{s}
}
func NewHandler(s Service) (*Handler, error) {
if s == nil {
return nil, errors.New(“missing service”)
}
return &Handler{s}, nil
}
RS
type Service interface { /*…*/ }
type Handler struct {
s Service
}
func NewHandler(s Service) *Handler {
return &Handler{s}
}
func NewHandler(s Service) (*Handler, error) {
if s == nil {
return nil, errors.New(“missing service”)
}
return &Handler{s}, nil
}
AS
panic(“missing service”)
OK
RS
panic(“missing service”)
func NewHandler(s Service) *Handler {
if s == nil {
panic(“missing service”)
}
return &Handler{s}
}
VM
RS
nil
- опциональны, тогда вариант A, иначе вариант B”C
nil
- опциональны, тогда вариант A, иначе вариант B”RS