On Tue, Oct 16, 2018 at 3:33 AM alanfo <alan.f...@gmail.com> wrote:

> I would also disallow overloading of the =, :=, <-, ..., [], {}, () and
> yes - equality operators - as well because I believe to do otherwise would
> be very confusing.
>

If overloading [] were disallowed, how would one write a generic function
taking a single argument of type either []int or a user-defined type with
similar behavior, and returning the sum of the elements? Sort of the
marriage of these two functions:

func SumIntSlice(s []int) int {

sum := 0

for _, i := range s {

sum += i

}
return sum

}

type IntList interface {

Len() int

At(int) int

}

func SumIntList(l IntList) int {

sum := 0

for n := 0; n < l.Len(); n++ {

sum += l.At(n)

}

return sum

}

-- 
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