gogen

command module
v0.0.0-...-5814e03 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 21, 2021 License: MIT Imports: 0 Imported by: 0

README

gogen

implegen

continuous generation of implementations for interfaces

Motivation

It is very hard to keep up with the implementation of a fluid and complex interface. This tool will add and update methods as the interface changes.

Get Started

By using implgen you can automatically generate a set of methods defined for a specific interface type. The following example writes the method set defined for the interface type InterfaceName in the import path path/to/a/interface to the file update_file.go

go run github.com/Mushus/gogen/implgen -dts "update_file.go" ImplTypeName "path/to/a/interface.InterfaceName"

If you use the go generate command to embed directives as comments, you do not need the dst flag.

//go:generate go run github.com/Mushus/gogen/implgen ImplTypeName "path/to/interface.InterfaceName"

When auto-generating for the io.WriteCloser interface type, the bottom half of the following code is generated.

package main

//go:generate go run github.com/Mushus/gogen/implgen TestWriter "io.WriteCloser"
type TestWriter struct{}

// Auto generated code below here.

func (t TestWriter) Close() error {
	panic("not implemented")
}
func (t TestWriter) Write(p []byte) (n int, err error) {
	panic("not implemented")
}

Install as command
go install github.com/Mushus/gogen/implgen

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL