book-start-golang-30-days icon indicating copy to clipboard operation
book-start-golang-30-days copied to clipboard

從無到有,使用 Go 開發應用程式

此專案已封存不再修改,內容已轉移至另一個專案 articles

從無到有,使用 Go 開發應用程式

Go 是最近流行的語言之一,許多知名的工具或服務都使用 Go 開發,如 Docker 、 Drone CI 等。未來 30 天,我將會從安裝 Go 的開發環境開始、到寫應用程式、最後部署 API Server 的過程,完整筆記下來。除了逼迫自己學習外,也希望能讓有緣的朋友也可以順利入門一探 Go 的奧妙。

前言

我熟悉 PHP ,也了解 PHP 效能上的瓶頸。曾經想過該如何優化效能,從改演算法,到參考各文章的建議效能優先寫法,還是無法突破。曾考慮過 Phalcon ,也做了 Docker Image ,但因轉換時間成本過高,加上數據不足無法證明比較快,最後還是沒有應用在工作上。

正因如此,才會想學習比較高效能的語言。心中打的算盤是:把複雜運算交由高效能語言處理, Web 則交由 PHP 負責。

語言選擇除了 Go 之外,也曾看過 Node 、 Rust 、 Python 等,但最後我選擇了 Go 。除了它有著老爸撐腰,加上使用過許多好用的工具(如 Docker )也是用 Go 撰寫的,因此對 Go 的很有信心。

之前也曾經寫過 Hello World 就沒再繼續下去,覺得這樣不行。這次希望自己在這 30 天之中,能成功地寫出一個像樣的東西。

目錄

  • Day 1 - Let's Golang
  • Day 2 - Environment
  • Day 3 - Hello World
  • Day 4 - Constants
  • Day 5 - Variables & Constants declarations
  • Day 6 - Predeclared Type
  • Day 7 - Array Type
  • Day 8 - Slice Type
  • Day 9 - Map Type
  • Day 10 - Function declarations
  • Day 11 - First class function
  • Day 12 - Anonymous Function
  • Day 13 - Struct
  • Day 14 - Method
  • Day 15 - Inheritance
  • Day 16 - Dep
  • Day 17 - Commands and Flags
  • Day 18 - Random
  • Day 19 - File
  • Day 20 - YAML
  • Day 21 - Send HTTP Request
  • Day 22 - Parse JSON
  • Day 23 - HTTP Server
  • Day 24 - Delivery
  • Day 25 - Docker
  • Day 26 - Refactoring Name Provider
  • Day 27 - Refactoring Command
  • Day 28 - Add Command Parameters
  • Day 29 - Interface
  • Day 30 - The End

誌謝