Данная утилита генерирует код преобразования двух структур Go между с учётом соответствия типов и названий полей, с минорной возможностью добавления дополнительный трансляций для полей с разным названием но с эквивалентным типом данных.
Под эквивалентными типами понимаются, например, string
, *string
и *wrapper.String
из протобуфа. Так же
эквивавлентными считаются string и UUID (или *UUID). "Эквивалентность" в данном случае настоящая, с транзитивностью,
т.е. A ~ B и B ~ C влечёт за собою A ~ C.