golang Functional Options Patternpackage servertype Server { host string port int timeout time.Duration maxConn int}func New(options ...func(*Server)) *Server { svr := &Server{} for _, o := range options { o(svr) } return svr}func (s *Server) Start() error { // todo}func WithHost(host string) func(*Server) { return func(s *Server) { s.host = host }}func WithPort(port int) func(*..