typeregistry
A library to create type dynamically
About typeregistry
a library to create type dynamically
how to use
// 1. define struct
type Student struct {
Age int
Name string
}
// 2. add reflect type
key := AddType(new(Student))
// 3. create struct from registed key
student := Make(key)
custom registed key
var i interface{} = new(Student)
// use lowercase struct name as key
name := AddTypeWithKey(i, func(i interface{}) string {
tpe := reflect.TypeOf(i).Elem()
return strings.ToLower(tpe.Name())
})
student, ok := Create("student").(*Student)
benchmark
go.exe test -benchmem -run=^$ supperxin/typeregistry -bench ^BenchmarkMake$
goos: windows
goarch: amd64
pkg: supperxin/typeregistry
BenchmarkMake-8 8823256 138 ns/op 64 B/op 2 allocs/op
PASS
ok supperxin/typeregistry 1.551s
go.exe test -benchmem -run=^$ supperxin/typeregistry -bench ^BenchmarkCreateDirectly$
goos: windows
goarch: amd64
pkg: supperxin/typeregistry
BenchmarkCreateDirectly-8 1000000000 0.593 ns/op 0 B/op 0 allocs/op
PASS
ok supperxin/typeregistry 0.857s
Frequently Asked Questions
What is typeregistry?
typeregistry is a Generators library for the Go programming language. A library to create type dynamically
How do I install typeregistry?
Install typeregistry with the Go module system using `go get xiaoxin01/typeregistry`. Check the repository for the current installation instructions.
What category does typeregistry belong to?
typeregistry is listed under Generators, specifically Generators.