Skip to content

Latest commit

 

History

History
38 lines (27 loc) · 740 Bytes

README.md

File metadata and controls

38 lines (27 loc) · 740 Bytes

Кодогенератор для паттерна options

Иногда бывает утомительно описывать огромное количество опциональных параметров, но по факту это не очень сложная кодогенерация.

Пример

./options-codegen --input testdata --struct Simple

options.go

package options

type Simple struct {
    //options:ignore
    StringVal string
    IntVal    int
}

simple_options.go

// DO NOT EDIT!!!

package options

type Option func(options *Simple)

func OptionIntVal(option int) Option {
    return func(options *Simple) {
        options.IntVal = option
    }
}