Как клонировать структуру с неэкспортированным полем?
Если у меня есть тип, определенный как:
type T struct {
S string
is []int
}
тогда как я могу пойти клонировать объект этого типа? Если я делаю простое задание:
p := T{"some string", []int{10, 20}}
q := p
Затем любые изменения, внесенные в[]int
влияет на оба объекта. посколькуT.is
не экспортируется, его нельзя скопировать явно, даже если он извлечен с использованием отражения.
В настоящее время я поставляюClone
Метод в пакете самого типа. Но это не помогает с подобными типами в других пакетах. Есть ли другой способ сделать это?