Skip to content

Latest commit

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

structs

structure utils

What is this?

Provides convenience functions on structures.

Usage

GetNilFields

package main
import (
"log""github.com/go-utils/structs"
)
type (
Repository1struct{}
Repository2struct{}
Repository3struct{}
)
typeServiceRepositoriesstruct {
Repository1*Repository1Repository2*Repository2Repository3*Repository3
}
typeServicestruct {
reposServiceRepositories
}
funcNewService(reposServiceRepositories) *Service {
ifnilFields:=structs.GetNilFields(repos); len(nilFields) >0 {
log.Fatalf("%+v", nilFields)
// Output: ["ServiceRepositories.Repository2", "ServiceRepositories.Repository3"]
}
return&Service{repos: repos}
}
funcmain() {
repos:=ServiceRepositories{
Repository1: new(Repository1),
}
service:=NewService(repos)
...
}

GetStructName

package main
import (
"fmt""log""github.com/go-utils/structs"
)
typeHogestruct{}
funcmain() {
hoge:=new(Hoge)
hogeName:=structs.GetStructName(hoge)
fmt.Printf("struct name: %#v\n", hogeName)
// Output: "Hoge"
}

License

About

structure utils

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages