我正在將一個(gè)最初用 Python 編寫(xiě)的現(xiàn)有 GAE 應(yīng)用程序移植到 Go。到目前為止,它非常棒而且相當(dāng)容易(盡管它并非沒(méi)有怪癖)。由于此端口將部署到不同版本上的同一個(gè) GAE 應(yīng)用程序,因此兩個(gè)版本將共享相同的數(shù)據(jù)存儲(chǔ)。問(wèn)題在于原始 Python 應(yīng)用程序大量使用了 db.GeoPt 類型。我在我的一種類型上實(shí)現(xiàn)了我自己的自定義 PropertyLoadSaver,因此我可以通過(guò)反射查看如何在 Go 中表示 db.GeoPt。但顯然 db.GeoPt 的內(nèi)存布局與 Go 中的任何東西都不兼容。有人知道我會(huì)怎么做嗎?以前有人這樣做過(guò)嗎?這里有一些代碼可以讓你們更好地了解我在做什么: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}先感謝您!
是否可以將 Python GAE db.GeoPt 移植到 Go 類型?
慕尼黑8549860
2021-07-29 17:19:34