Show HN: Go-mapper – AutoMapper-style struct mapping for Go

4 davitostes 0 6/22/2025, 9:41:31 AM
I’ve worked a lot with C# and .NET, and one tool I really missed when using Go was AutoMapper.

So I built go-mapper, a lightweight Go package that helps map between structs — useful for converting DTOs to domain models, etc.

Uses Go generics (1.18+) Supports shallow copy of fields Custom field transformations with fluent API Optional interface for struct-level control

Example:

type CreateUserDto struct { Name string Password string }

type User struct { Name string PasswordHash string }

mapper.CreateProfile(CreateUserDto{}, User{}, mapper.ForMember(func(u *User) any { return &u.PasswordHash }, mapper.MapFrom(func(dto CreateUserDto) (string, error) { return bcrypt.GenerateFromPassword([]byte(dto.Password), bcrypt.DefaultCost) }), ), )

GitHub: https://github.com/davitostes/go-mapper

I’d love any feedback, suggestions, or contributions. Thanks!

Comments (0)

No comments yet