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.