dtot74529 2014-03-27 03:08
浏览 42
已采纳

是否可以将Python GAE db.GeoPt移植为Go类型?

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!

  • 写回答

1条回答 默认 最新

  • duancenxiao0482 2014-05-12 04:33
    关注

    appengine.GeoPoint support in appengine/datastore was added in the 1.9.3 App Engine release.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?