2014-03-27 36 views
0

我正在移植最初用Python编写的现有GAE应用程序。到目前为止,它已经非常好,并且非常容易(尽管它并非没有它的怪癖)。是否可以将Python GAE db.GeoPt移植到Go类型?

由于此端口将部署到不同版本的相同GAE应用程序,因此这两个版本将共享相同的数据存储。问题在于原始的Python应用程序广泛使用了db.GeoPt类型。

我在我的一个类型上实现了自己的自定义PropertyLoadSaver,所以我可以通过反射来看看如何在Go中表示一个db.GeoPt。但显然db.GeoPt的内存布局与Go完全不兼容。有人知道我会怎么做吗?有没有人做过?

下面是一些代码给你们的我在做什么更好的主意:

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 
} 

预先感谢您!

回答

2

appengine.GeoPointappengine/datastore支持在1.9.3 App Engine版本中添加。

+0

谢谢!对不起,花了这么长的时间来回应。我会将此标记为正确的答案。 – ArturoVM

相关问题