在Go中合并独立的Webapp和GAE

Zerge

我正在使用Go语言编写一个非常简单的Web应用程序。我有一个独立版本,现在将其移植到GAE。似乎有很小的变化,主要是关于数据存储区API(在独立版本中,我只需要文件)。我还需要包括appengine程序包,并使用init()代替main()。

有没有简单的方法可以合并两个版本?由于Go中没有预处理器,因此看来我必须为独立版本编写一个与GAE兼容的API,并将此模拟模块用于独立版本,并为GAE版本使用真实的API。但这听起来对我来说太过分了。

另一个问题是GAE可能正在使用较旧的Go版本(例如,最新的Go版本使用新的模板包,但GAE使用较旧的模板包,并且它们不兼容)。那么,在构建时或运行时是否有任何更改可解决此类差异?

谢谢,谢尔格

UPD:现在GAE使用与稳定的独立编译器相同的Go版本(r60),因此抽象级别现在真的很简单。

尼克·约翰逊

广义上讲,使用抽象。提供用于持久性的接口,并为此编写两种实现,一种基于数据存储,另一种基于本地文件。然后,为每个平台编写一个单独的main / init模块,该模块实例化适当的持久性接口,并将其传递给您的主应用程序以使用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章