https://github.com/berquerant/dataclass
Generate a data container.
https://github.com/berquerant/dataclass
go
Last synced: 9 months ago
JSON representation
Generate a data container.
- Host: GitHub
- URL: https://github.com/berquerant/dataclass
- Owner: berquerant
- License: mit
- Created: 2022-09-19T14:38:17.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-04-20T07:35:59.000Z (about 1 year ago)
- Last Synced: 2025-04-20T08:38:06.098Z (about 1 year ago)
- Topics: go
- Language: Go
- Homepage:
- Size: 91.8 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# dataclass
Generate a data container.
Given
``` go
package example
// ...
```
run `dataclass -type Argument -field "Size int|Handler flag.ErrorHandling|Target string"` then generate
``` go
package example
import "flag"
type Argument interface {
Size() int
Handler() flag.ErrorHandling
Target() string
}
type argument struct {
size int
handler flag.ErrorHandling
target string
}
func (s *argument) Size() int { return s.size }
func (s *argument) Handler() flag.ErrorHandling { return s.handler }
func (s *argument) Target() string { return s.target }
func NewArgument(
size int,
handler flag.ErrorHandling,
target string,
) Argument {
return &argument{
size: size,
handler: handler,
target: target,
}
}
```
in dataclass.go in the same directory.