As this github auther says:
I found gengen <https://github.com/joeshaw/gengen> after implementing most 
of this functionality. It follows a similar approach, though doesn't take 
it quite as far.

gengen seems better according to github star.
I wonder if there are any better packages out there ,  have u reach on this?


在 2017年1月23日星期一 UTC+8下午10:04:22,Caleb Doxsey写道:
>
> Hi,
>
> With github.com/badgerodon/goreify you can do this:
>
> //go:generate goreify examples/min.Min numeric
>
> // Min finds the minimum value in a slice
> func Min(args ...generics.T1) (r generics.T1) {
> if len(args) == 0 {
> panic("the minimum of nothing is undefined")
> }
>
> r = args[0]
> for i := 1; i < len(args); i++ {
> if generics.Less(r, args[i]) {
> r = args[i]
> }
> }
> return r
> }
>
>
> (replacing examples/min with your package name)
>
> This gives:
>
> // MinInt finds the minimum value in a slice
> func MinInt(args ...int) (r int) {
> if len(args) == 0 {
> panic("the minimum of nothing is undefined")
> }
>
> r = args[0]
> for i := 1; i < len(args); i++ {
> if r < args[i] {
> r = args[i]
> }
> }
> return r
> }
>
>
> There are other libraries out there that can do the same thing.
>
> On Monday, January 23, 2017 at 1:19:25 AM UTC-5, hui zhang wrote:
>>
>> Since go did not support generic yet ,
>> Generate give us a alternative choice .
>> However,  although I read the official document.  
>> I still don't know how to use go generate to generate code.
>> Could anyone show us an example ?
>>
>> Let's take   std::min in c++ us an example.
>> min(x,y)       // type could be int int32 int64 int8  uint....   float??
>> min(x,y,z,a,b......)  //Variable-length Argument 
>>
>

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