Hello,

This is misleading.  With default arguments, there remains only one 
function definition, which makes it quite different from function 
overloading where there would be multiple definitions.  Default parameters 
provides syntax sugar at the call site, but does not create additional 
functions.

I'm not arguing for default parameters.  The explanation 
in https://talks.golang.org/2012/splash.article#TOC_10 is good, given Go's 
philosophy.  

Robert


On Thursday, 23 August 2018 19:26:36 UTC-4, Ian Lance Taylor wrote:
>
> On Thu, Aug 23, 2018 at 4:20 PM, Masoud Ghorbani 
> <msud.g...@gmail.com <javascript:>> wrote: 
> > I didn't get the relation of function overloading with parameters 
> default 
> > value. actually, function overloading means define functions with 
> similar 
> > names. 
>
> Right.  After adding a default value for the parameter, you have two 
> functions with similar names: 
>     F(int) 
>     F() 
>
> It's exactly as though you overloaded F. 
>
> Ian 
>
>
> > On Friday, August 24, 2018 at 1:11:12 AM UTC+4:30, Ian Lance Taylor 
> wrote: 
> >> 
> >> On Thu, Aug 23, 2018 at 12:44 AM, Masoud Ghorbani 
> >> <msud.g...@gmail.com> wrote: 
> >> > 
> >> > Your opinion is like to say all of the python application should 
> rethink 
> >> > and 
> >> > re-write their structure because they used default values. I think 
> >> > having 
> >> > default values for parameters is just a feature which will make 
> codebase 
> >> > readable and smaller than before. 
> >> 
> >> Default values for parameters is in effect a simple form of function 
> >> overloading.  If F(int) has a default value for the parameter, then 
> >> you've overloaded F with another function F() that takes no arguments. 
> >> Go doesn't have function overloading in general, and it doesn't have 
> >> default parameter values either. 
> >> 
> >> Ian 
> > 
> > -- 
> > 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 golang-nuts...@googlegroups.com <javascript:>. 
> > For more options, visit https://groups.google.com/d/optout. 
>

-- 
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 golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to