Is it acceptable to make the optional parameter as varargs?
I wrote code in my package like ...


package backoff

func New(options ...Options) *backOff {
   backOff := defaultBackOff()
   if len(options) == 0 {
      return backOff
   }

   // override default values
   if len(options) > 1 {
      panic("only 1 backOffOption allowed")
   }
   optn := options[0]
   backOff.options = &optn

   if optn.Delay_ms > 0 {
      backOff.delay_ms = optn.Delay_ms
   }
   return backOff
}



So that in other package, it can be used as *backoff.New()* when option is
not needed(*which will be the case most of the time*).

Is using varargs for optional parameter is ok? Or am I abusing the Variadic
Functions feature?

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/CANFuhy8nhhbBDWb0%3D7SLvq1aictC9GVG%3D9zpfpJ1gevDdRmd6A%40mail.gmail.com.

Reply via email to