我正在使用Go語言編寫一個非常簡單的Web應用程序。 我有一個獨立的版本,現在將其移植到GAE。似乎有非常小的變化,主要涉及數據存儲API(在獨立版本中我只需要文件)。 我還需要包含appengine包並使用init()而不是main()。在Go中合併獨立Web應用程序和GAE
是否有任何簡單的方法來合併兩個版本?由於Go中沒有預處理器,因此我必須爲獨立版本編寫一個兼容GAE的API,並使用此模擬模塊進行獨立構建,並使用真實API用於GAE版本。但這聽起來對我來說太過矯枉過正。另一個問題是,GAE可能會使用較舊的Go版本(例如,現在最近的Go版本使用新的模板包,但GAE使用較舊的版本,但它們不兼容)。那麼,在編譯時或運行時是否有改變來處理這些差異?
感謝, 塞爾
UPD:現在GAE使用相同的圍棋版本(R60),作爲穩定獨立的編譯器,所以抽象級別現在是真的很簡單。
我真的不認爲這是一個可維護的解決方案。 –
這很大程度上取決於原始程序的設計。值得一提的是,GAE已經*提供了一個可以被OP項目模擬的界面。 –
我不認爲它是這樣 - 我認爲從長遠角度來看,保持這樣做會比做相當大量的重寫更有用。是的,App Engine提供了數據存儲接口 - 但是通過文件系統後端來實現(甚至是其中的一部分)將比實現適合手頭應用程序和多個後端的最小接口要多得多。 –