code: func NewClientOptions() *ClientOptions {
  	o := &ClientOptions{
  		Servers:                 nil,
  		ClientID:                "",
  		Username:                "",
  		Password:                "",
  		CleanSession:            true,
  		Order:                   true,
  		WillEnabled:             false,
  		WillTopic:               "",
  		WillPayload:             nil,
  		WillQos:                 0,
  		WillRetained:            false,
  		ProtocolVersion:         0,
  		protocolVersionExplicit: false,
  		KeepAlive:               30,
  		PingTimeout:             10 * time.Second,
  		ConnectTimeout:          30 * time.Second,
  		MaxReconnectInterval:    10 * time.Minute,
  		AutoReconnect:           true,
  		Store:                   nil,
  		OnConnect:               nil,
  		OnConnectionLost:        DefaultConnectionLostHandler,
  		WriteTimeout:            0, // 0 represents timeout disabled
  		MessageChannelDepth:     100,
  		ResumeSubs:              false,
  		HTTPHeaders:             make(map[string][]string),
  	}
  	return o
  }
docs: // NewClientOptions will create a new ClientClientOptions type with some
  // default values.
  //   Port: 1883
  //   CleanSession: True
  //   Order: True
  //   KeepAlive: 30 (seconds)
  //   ConnectTimeout: 30 (seconds)
  //   MaxReconnectInterval 10 (minutes)
  //   AutoReconnect: True