2014-03-27 69 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

相關問題