Skip to content

Comment on Toward Go 1.3parent

Comments

could you elaborate - what is this about ? Go newbie here.

To sort an array/collection in Go, you must implement an interface with 3 methods: https://gobyexample.com/sorting-by-functions

It's boilerplate, which generic methods would avoid.

There are shortcuts for sorting common types by their natural order in Go, so you only have to write this for custom types or custom orderings.

I am not sure I understand why you need generics for this, doesn't C get by passing a single function pointer?

Could you explain why Go needs an interface with 3 methods?

Type safety, and the lack of fields in interfaces. In C you have to pass the size of the elements to quicksort, but in Go you can't do that without using the unsafe module. So you need a virtual Swap() method. And because Go needs to take a single interface, and interfaces in Go can't have fields, you need a Len() method as well.

thanks I think I understand now.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.