Go 網頁開發

概覽

Go 為網頁應用程式提供速度、安全性和開發人員友善的工具

Go 旨在讓開發人員能夠快速開發可擴展且安全的網頁應用程式。Go 內建了易於使用、安全且高效能的網頁伺服器,並包含自己的網頁模板庫。Go 對所有最新技術都有極佳的支援,從 HTTP/2,到如 MySQLMongoDBElasticsearch 等資料庫,以及包含 TLS 1.3 在內的最新加密標準。得益於 Go 極高的可移植性,Go 網頁應用程式可在 Google App EngineGoogle Cloud Run 上原生執行(以輕鬆實現擴展),也可在任何環境、雲端或作業系統上運行。

主要優勢

以破紀錄的速度進行跨平台部署

對於企業而言,Go 是快速跨平台部署的首選。憑藉其 Goroutines、原生編譯以及基於 URI 的套件命名空間,Go 程式碼可編譯成單一且精簡的二進位檔案,且完全無相依性,使其執行速度非常快。

利用 Go 開箱即用的高效能,輕鬆實現擴展

Hexact Inc. 的共同創辦人兼技術長 Tigran Bayburtsyan 總結了其公司轉向 Go 的五個關鍵原因:

  • 編譯為單一二進位檔案 —「透過靜態連結,Go 實際上會根據作業系統類型和架構,將所有相依函式庫和模組合併為一個單一的二進位檔案。」

  • 靜態型別系統 —「對於大型應用程式而言,型別系統真的非常重要。」

  • 高效能 —「由於其併發模型和 CPU 可擴展性,Go 的表現更好。每當我們需要處理內部請求時,我們都會使用獨立的 Goroutines 來執行,這比 Python 執行緒的資源成本低了 10 倍。」

  • 無需網頁框架 —「在大多數情況下,你真的不需要任何第三方函式庫。」

  • 優異的 IDE 支援與偵錯能力 —「在將所有專案重寫為 Go 之後,我們的程式碼量比以前減少了 64%。」

客戶 簡介 使用 Go 的專案
Caddy Caddy Caddy Caddy 2 是一套功能強大、符合企業需求、以 Go 編寫的開源網頁伺服器,具備自動 HTTPS 功能。與以 C 語言編寫的伺服器相比,Caddy 提供了更高的記憶體安全性。由 Go 標準函式庫驅動的強化 TLS 堆疊,處理了網際網路中相當大比例的流量。
Cloudflare Cloudflare Cloudflare Cloudflare 為數百萬個連上網際網路的網站、API、SaaS 服務和其他資產提供加速與保護。「Go 是 Cloudflare 服務的核心,包括處理高延遲 HTTP 連線的壓縮、我們整個 DNS 基礎設施、SSL、負載測試等。」
gov.uk gov.uk gov.uk Go 語言的簡單性和安全性非常適合英國政府的 HTTP 基礎設施。在對優秀的 net/http 套件進行了一些簡短的實驗後,網頁開發人員確信他們走在正確的道路上。「特別是 Go 的併發模型,讓建構高效能、I/O 密集型的應用程式變得極其簡單。」

開始使用

關於 Go 網頁開發的書籍

  • Echo

    高效能、可擴展且極簡的 Go 網頁框架

  • Flamingo

    一個基於 Go 的快速開源框架,具有乾淨且可擴展的架構

  • Gin

    使用 Go 編寫的網頁框架,具有類似 Martini 的 API。

  • Gorilla

    Go 程式語言的網頁工具包。

查看更多
  • net/http

    標準函式庫 HTTP 套件

  • julienschmidt/httprouter

    輕量級高效能 HTTP 請求路由器

  • gorilla/mux

    功能強大的 HTTP 路由器與 URL 匹配器,用於使用 🦍 建構 Go 網頁伺服器

  • Chi

    用於建構 Go HTTP 服務的輕量級、慣用且可組合的路由器。

查看更多
查看更多
  • database/sql

    具備標準函式庫介面,支援 MySQL、Postgres、Oracle、MS SQL、BigQuery 及大多數 SQL 資料庫的驅動程式

  • mongo-driver/mongo

    MongoDB 官方支援的 Go 驅動程式

  • elastic/go-elasticsearch

    Go 的 Elasticsearch 客戶端

  • GORM

    Go 的 ORM 函式庫

  • Bleve

    Go 的全文檢索與索引引擎

  • CockroachDB

    資料庫的進化版——專為雲端架構設計,旨在提供大規模、具韌性、一致的分佈式 SQL

查看更多
查看更多
  • gopherjs

    一個將 Go 編譯為 JavaScript 的編譯器,允許開發人員使用 Go 編寫前端程式碼,並可在所有瀏覽器中執行。

查看更多

課程

專案

  • gopherjs,一個將 Go 編譯為 JavaScript 的編譯器,允許開發人員使用 Go 編寫前端程式碼,並可在所有瀏覽器中執行。
  • Hugo,全球最快的網站建構框架
  • Mattermost,一套靈活的開源訊息傳遞平台,可實現安全的團隊協作
  • Caddy,一套功能強大、符合企業需求、以 Go 編寫並具備自動 HTTPS 功能的開源網頁伺服器