micln / goption

Generator class fields as constructor options

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

goption

Generator class fields as constructor options

Quick Look

Install

go get -v github.com/micln/goption

Usage

$ goption

usage: goption --package=PACKAGE [<flags>]

Generator class fields as constructor options

Flags:
  -h, --help             Show context-sensitive help (also try --help-long and --help-man).
  -v, --verbose          show log
  -p, --package=PACKAGE  package full path
  -c, --classes=CLASSES  match classes name like "person,car".
  -w, --writefile        write generated code

Demo

定义一个普通的 struct

//go:generate goption -p . -c Person -w
type Person struct {
	Name      string
	Age       int
	Interests []string

	Parent   *Person
	Children [5]*Person

	Friends []*Person
}
  • 注释 //go:generate goption -p . -c Person -w 可以帮助 IDE 进行自动生成

运行命令

go:generate goption -p . -c Person -w

参数说明

  • -p:要扫描的包路径
  • -c:指定要生成的类名,选填,格式为 A,B,C。不填时为包内所有类生成代码
  • -w:无此参数时,会把生成的代码输出到 stdout 自行后续处理;有此参数时会把生成的代码写到 class_option_gen.go

todo

自定义 template 为 struct 生成各种模板代码。说白了就是把 Generator 给开放出来,我帮你解析好 struct,你直接写你要的代码格式。

About

About

Generator class fields as constructor options


Languages

Language:Go 100.0%