cfrco / go-lang-crud-on-gae

Example usage of the crud on GAE for go-lang

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Go語言在GAE上操作CRUD基本範例

GAE(Google App Engine)平台上使用Go語言操作CRUD的範例程式碼, 資料庫使用GAE的Datastore。

##前言

Go語言是Google開發的編譯型語言, 於2009年推出, 關於Go的簡介在此不贅述, 請參考Go Wike

Go語言在網路上的學習資源還不是很多, 尤其是在GAE的應用更少, 此範例幫助對Go語言有興趣的新手了解並學習Go語言的程式形式, 同時對GAE及其Datastore有基本的認識。

GAE是「Google應用服務引擎」在Google的平台上執行您的網路應用程式, 有免費的配額可以使用, 起初僅支援Python、JAVA, 後來才加入了Go、PHP等。

Datastore是GAE是的Database與一般RDBMS有些差異, 本人我也還不是很瞭解, 網路上的參考資料也不是很多, 簡單想就是Key-Value, 這些Key甚至可以有Parent, 實作過程發現常會使用到Key, datastore的方法裡若要對資料操作也常需要Key作為引數。

  • 本範例僅從網頁應用切入學習Go語言

Demo

Getting Started

  1. 申請 Google App Engine, Create Application, 請記下您的Application Identifier

  2. 安裝Go Tools: http://golang.org/doc/install

  3. 安裝App Engine SDK

  4. Clone:

     git clone git@github.com:yfxie/go-lang-crud-on-gae.git
     cd go-lang-crud-on-gae/
    

    建立app.yaml檔案, 內容如下: application請填入Step1的Application Identifier

     application: helloworld
     version: 1
     runtime: go
     api_version: go1
    
     handlers:
     - url: /.*
       script: _go_app
    
  5. Local Testing:

     dev_appserver.py .
    

    Server: http://localhost:8080

    AdminServer: http://localhost:8000

  6. Deploy to GAE:

     appcfg.py update .
    

    Your app will running at http://yourname.appspot.com

Package

  • appengine

    用來產生context的必要包, 與GAE相關的函數經常須使用context做為引數。

  • appengine/datastore

    操作GAE Datastore的工具。

  • appengine/user

    輕鬆實現Google使用者驗證。

  • fmt

    純文字輸出用。

  • html/template

    內建樣板引擎。

  • net/http

    Server建路由。

  • strconv

    字串形態轉換用。

  • time

Tools

  • GoSublime: 好用的Sublime的Go套件, 自動完成、程式碼整理功能..etc。

Reference

About

Example usage of the crud on GAE for go-lang


Languages

Language:Go 100.0%