I don't really see the difference in writing
func Less(a, b *T) bool
and
func (a *T) Less(b *T) bool
convenience wise - except that the latter requires the name to be exported
and doesn't allow using a function literal (so, yeah, the latter actually
seems significantly *less* convenient).

On Thu, Feb 1, 2018 at 7:51 PM, Chris Hopkins <cbehopk...@gmail.com> wrote:

> No, was hoping to use the interface (It's the only reason I defined it) to
> test if two items are equal.
> I guess I could enforce that you have to supply the equals function like
> the sort interface does. I was just hoping for more.
>
> I'll have a rethink next time I have time.
>
> Thanks
>
> On Thursday, 1 February 2018 18:46:09 UTC, Axel Wagner wrote:
>>
>> On Thu, Feb 1, 2018 at 11:52 AM, Chris Hopkins <cbeho...@gmail.com>
>> wrote:
>>
>>> Yeah, so having played with this. It seems that this is going to take
>>> some judicious use of reflect if I'm to stand any chance of maintaining a
>>> flexible API, which I really hoped to avoid.
>>>
>>
>> I'm 99% sure that you don't have to use reflect at all. You only have to
>> swap elements around, that's kind of what sort.Interface was made for. It
>> already comes with implementations for slices of common datatypes and you
>> can make a function that works on arbitrary slices with less than ten lines
>> of reflect code.
>>
>> Like, I *really* don't understand your problem.
>>
>>
>>> I had assumed that the point of interfaces was to avoid this. I guess
>>> from a high level I don't see why a slice of type is really that different
>>> from a type. But I have never written a compiler so I'm sure that it's way
>>> more complex than it seems. :-)
>>>
>>> Thanks for the help.
>>> Chris
>>>
>>>
>>> On Thursday, 1 February 2018 00:42:04 UTC, simon place wrote:
>>>>
>>>> also notice, if you haven’t encountered it, this makes []interfaces a
>>>> bit awkward to handle with ellipsis functions...
>>>>
>>>> https://play.golang.org/p/JWuc4jt2uSP
>>>>
>>>> what i do is this;
>>>>
>>>> https://play.golang.org/p/O9Q4K_vXlul
>>>>
>>>> but you will need a convert for all combinations of interfaces and
>>>> ellipsis functions you have!
>>>>
>>>> from what i understand ellipsis functions are implemented simply as
>>>> auto-magic slices, rather than expanded out, so the function doesn’t apply
>>>> the interface wrapping like with individual parameters.
>>>>
>>>> --
>>> 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.
>>> 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.
>

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