I'm working on a porting an existing GAE app that was originally written in Python to Go. So far it's been pretty great and reasonably easy (though it's not been without its quirks).
Since this port will be deployed to the same GAE app on a different version, the two versions will share the same datastore. The problem is that the original Python app makes extensive use of the db.GeoPt type.
I implemented my own custom PropertyLoadSaver on one of my types so I could look at how I might represent a db.GeoPt in Go, via reflection. But apparently the memory layout of db.GeoPt is not compatible with anything in Go at all. Does anybody know how I might go about this? Has anybody done this before?
Here's some code to give you guys a better idea of what I'm doing:
func (sS *SomeStruct) Load(c <-chan datastore.Property) error {
for p := range c {
if p.Name == "location" { // "location" is the name of the original db.GeoPt property
v := reflect.ValueOf(p.Value) // If I call v.Kind(), it returns reflect.Invalid
// And yes, I know v is declared and never used :P
}
}
return nil
}
Thank you in advance!