As long as your struct only contains boolean, numeric, string, and array types (and nested structs of these types), you can just do "b := a", and manipulating b won't affect a. Otherwise you will need to implement some kind of deep copy, but AFAIK there is no generic solution for that.
I am assuming that in reality you want to manipulate more complicated data structures than struct { int }; it is easier for people in the group to provide more specific advice if you can share the actual data structure definition.
Peter