Google has it's own tool that is publicly available as part of gvisor 
project [1] I think it's as good or better than the provided options.
I copied that to enable installation using plain go get (without bazel) [2].
We used that to de-interface github.com/fatih/set so you may see a real 
usage example [3].

[1] https://github.com/google/gvisor/tree/master/tools/go_generics
[2] https://github.com/mmatczuk/go_generics
[3] https://github.com/scylladb/go-set

$ go get github.com/mmatczuk/go_generics/cmd/...
$ go_generics -h
Usage: go_generics [options]
  -ast
        prints the AST
  -c A=B
        reassign constant A to value B when A=B is passed in. Multiple such 
mappings are allowed.
  -i file
        input file
  -import name=path
        specifies the import libraries to use when types are not local. 
name=path specifies that 'name', used in types as name.type, refers to the 
package living in 'path'.
  -o file
        output file
  -p name
        output package name (default "main")
  -prefix prefix
        prefix to add to each global symbol
  -suffix suffix
        suffix to add to each global symbol
  -t A=B
        rename type A to B when A=B is passed in. Multiple such mappings 
are allowed.

On Tuesday, December 11, 2018 at 11:25:57 PM UTC+1, Tharaneedharan 
Vilwanathan wrote:
>
> Thank you for the details!
>
> Regards
> dharani
>
>
> On Tue, Dec 11, 2018 at 2:13 AM <ffm...@web.de <javascript:>> wrote:
>
>> Here are some code generators that let you define template parameters:
>>
>> https://github.com/cheekybits/genny
>> https://github.com/taylorchu/generic
>> https://github.com/joeshaw/gengen
>> https://github.com/clipperhouse/gen
>>
>> Making use of Go templates:
>>
>> https://github.com/ncw/gotemplate
>> https://github.com/droundy/gotgo
>>
>> Am Dienstag, 11. Dezember 2018 04:00:57 UTC+1 schrieb Tharaneedharan 
>> Vilwanathan:
>>>
>>> Hi All,
>>>
>>> I have a quick question.
>>>
>>> What is the best choice for writing generic code till Go officially 
>>> supports generics? Just looking for some guidance.
>>>
>>> Regards
>>> dharani
>>>
>>> -- 
>> 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