如何用 go 做第一個網站 [lastupdate200122]

對於有程式開發基礎的人來說,go 確實是一個挺有意思,而且簡單的程式語言。不過說實在話,雖然容易開發,但真要把開發的相關元素備齊全了,這其中摸索期也挺不算短。所以,把我在研究過程中所做的筆記彙整之後,PO上來給新進夥伴們做個參考。

我在剛開始的時候打轉了半天,因為 go 可以適用的目標專案太多了。初入 go 的時候,網站、爬蟲、系統管理…每個我都想玩一下,以至於初期根本沒有具體的進展。後來自已檢討到這個問題,才開始收縮範圍,最終選擇了網站做為初入手的目標。

從做網站入手有好有壞,好處在於製作網站要求的技能點數不高,原則上搞定 restful api 和 CRUD 的資料庫操作,大概就可以做一個網站出來。太深入的技術都用不著,特別是一開始就絆著我的 傳值 / 傳位址 的概念,不用會也可以做個網站出來。缺點是還需要另外學介面的寫法,才能有一個具體的網站出來。所以,我們這個站採 go + vue.js 的模式開發,主要著墨在後端 go 的製作,vue.js 的部份只會淺略帶過。而大部份的測試,會借重 postman 來進行操作。

建議一開始先閱讀 the little go book,它會幫助你了解關於 golang 的語法,而且現在已經有繁體中文版本,這將會減少你在 golang 的入門門檻。

基礎技能與環境建置

  1. 安裝 golang: 在 windows 安裝 golang
  2. 安裝開發環境:安裝 vscode | 安裝 postman | 安裝 MySQL  
  3. 寫一支測試檔案:寫一支測試檔案
  4. 上 gin 框架
  5. 如何讀寫資料庫

後端系統開發

  1. 安排自已的程式架構
  2. 第一個程式:會員註冊與登入

參考書籍或網站

  1. [網頁]從 php 到 golang 的筆記
    php開發者建議優先閱讀,這會讓你把 go 寫的就像是 php 一樣的偉大 (笑)
  2. [電子書]the little go book
    初學者可以先看的書,內容異常精簡,但主要架構都有帶到。而且電子檔方便閱讀,是初入門的好材料。
  3. [電子書]精通Go程式設計
    這本我有實體書,據說翻譯很爛…但對我來說,看簡體中文的痛苦值並不低於看這一本…
  4. [社群]Go程式語言 (Golang Taiwan, Golang Taipei)
    在 Facebook 上的 golang 社群。
  5. [社群]Go語言中文網
    簡體中文的討論區,裡面有很多有意思的文章。