我正在将一个最初用 Python 编写的现有 GAE 应用程序移植到 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}先感谢您!
- 1 回答
- 0 关注
- 187 浏览
添加回答
举报
0/150
提交
取消