I would like to get a pointer to a map value (which contains structs), so that I can modify a field in the struct, without having to re-assign it.
type Foo struct {
Bar int64
}
func SomeFunction(arg * Foo) {
...
}
What I currently have to do:
if val, ok := myMap[idx]; ok {
// val is of type `Foo`
SomeFunction(&val)
myMap[idx] = val
}
What I'd like to do:
if val, ok := getPointer(myMap, idx); ok {
// val is of type `* Foo`
SomeFunction(val)
}
Is there a way to do this Go, or do I need to rely on the compiler being smart enough to perform copy elision here?