如何使用 Go 建立基本的 Web 伺服器

如何使用 Go 建立基本的 Web 伺服器

Go 是一種有趣的程式語言,用於建立現代 Web 應用程式和系統軟體。它發布後引起了巨大的轟動,並為 Docker、Kubernetes、Terraform、Dropbox 和Netflix 等服務提供支援。

此外,Go 強大的內建套件集合使其成為 Web 程式設計的絕佳選擇。本文將向您展示如何用 Go 編寫一個基本的Web 伺服器。

導入必要的套件

net/HTTP 套件提供了創建 Web 伺服器和用戶端所需的一切。這個包提供了一些處理網路程式設計的有用函數。

您可以透過將以下行新增至原始程式碼的開頭來匯入它:

import "net/http"

本文也將使用fmt包來格式化字串,並使用log包來處理錯誤。您可以如上所示單獨匯入它們,或使用單一匯入語句匯入所有套件:

import (
"fmt"
"log"
"net/http"
)

導入必要的套件後就可以繼續寫main函數了。繼續並使用.go副檔名儲存原始檔。如果您使用 Vim,請使用以下命令儲存並退出 Vim:

:wq server.go

編寫主函數

Go 程式直接駐留在主函數中,恰當地命名為「main」。您需要在此處進行伺服器調用。將以下行新增至原始程式碼並查看它們的作用:

func main() {
http.HandleFunc("/", index)
log.Fatal(http.ListenAndServe(":8080", nil))
}

此範例使用func關鍵字定義 main 函數。 Go 對左大括號的位置有嚴格的規則,因此請確保起始大括號位於正確的行上。 main 中的第一個語句定義了對根路徑 ( "/" ) 的所有 Web 請求都將由 index 處理,index 是一個http.HandlerFunc類型的函數。

第二行透過http.ListenAndServe函數啟動 Web 伺服器。它會向伺服器發出訊號,使其持續偵聽伺服器連接埠 8080 上傳入的 HTTP 請求。該函數的第二個參數用於阻止程式直到結束。

由於http.ListenAndServe始終傳回錯誤,因此此範例將此呼叫包裝在log.Fatal call 中。該語句記錄伺服器端產生的所有錯誤訊息。

實現處理功能

可以看到,main函數呼叫了處理函數index來處理客戶端請求。但是,該範例尚未為其伺服器定義此功能。

讓我們新增必要的語句以使索引函數可用:

func index(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hi there, welcome to %s!", r.URL.Path[1:])
}

此函數採用http.ResponseWriterhttp.Request類型的兩個不同參數。http.ResponseWriter參數包含伺服器對傳入請求的回應,採用http.Request物件的形式。

fmt套件中的函數Fprintf用於顯示和操作文字字串。本文使用它來顯示伺服器對 Web 請求的回應。最後,r.URL.Path[1:]元素用於取得根路徑之後的資料。

添加所有剩餘部分

添加完所有剩餘元件後,您的 Go Web 伺服器將準備就緒。程式碼如下所示:

import (
"fmt"
"log"
"net/http"
)
func index(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hi there, welcome to %s!", r.URL.Path[1:])
}
func main() {
http.HandleFunc("/", index)
log.Fatal(http.ListenAndServe(":8080", nil))
}

第一行需要將此 Go Web 伺服器程式碼編譯為可執行檔。

如何使用 Go 建立基本的 Web 伺服器

將此 Go Web 伺服器程式碼編譯為可執行文件


什麼是惡意軟體 HackTool:Win32/Keygen?如何去除?

什麼是惡意軟體 HackTool:Win32/Keygen?如何去除?

您是否掃描過您的設備並發現它感染了 HackTool:Win32/Keygen?在您使用破解或金鑰產生器啟動進階軟體後,Windows Defender 可能會自動警告您有關此惡意軟體的存在。

在 Windows 10 上建立備份和還原點(Restore Point)的說明

在 Windows 10 上建立備份和還原點(Restore Point)的說明

探索如何在Windows 10上建立和管理還原點,這是一項有效的系統保護功能,可以讓您快速還原系統至先前狀態。

在 Windows 10 中開啟裝置管理員的 15 種方法

在 Windows 10 中開啟裝置管理員的 15 種方法

您可以使用以下 15 種方法輕鬆在 Windows 10 中開啟<strong>裝置管理員</strong>,包括使用命令、捷徑和搜尋。

Windows「顯示桌面」的 10 種超快速方法

Windows「顯示桌面」的 10 種超快速方法

很多人不知道如何快速顯示桌面,只好將各個視窗一一最小化。這種方法對於用戶來說非常耗時且令人沮喪。因此,本文將向您介紹Windows中快速顯示桌面的十種超快速方法。

如何使用 Windows Repair 修復 Windows 錯誤

如何使用 Windows Repair 修復 Windows 錯誤

Windows Repair 是一款有效的 Windows 錯誤修復工具,幫助使用者修復與 Internet Explorer、Windows Update 和其他重要程式相關的錯誤。

如何在 Windows 10 中開啟資料夾選項或檔案總管選項

如何在 Windows 10 中開啟資料夾選項或檔案總管選項

您可以使用檔案總管選項來變更檔案和資料夾的工作方式並控制顯示。掌握如何在 Windows 10 中開啟資料夾選項的多種方法。

有關在 Windows 10 上刪除使用者帳戶的 5 種方法的說明

有關在 Windows 10 上刪除使用者帳戶的 5 種方法的說明

刪除不使用的使用者帳戶可以顯著釋放記憶體空間,並讓您的電腦運行得更流暢。了解如何刪除 Windows 10 使用者帳戶的最佳方法。

如何使用Bootsect /nt60將VBC更新為BOOTMGR

如何使用Bootsect /nt60將VBC更新為BOOTMGR

使用 bootsect 命令能夠輕鬆修復磁碟區引導程式碼錯誤,確保系統正常啟動,避免 hal.dll 錯誤及其他啟動問題。

Windows 11 中的存檔應用程式功能是什麼?應該啟用還是停用它?

Windows 11 中的存檔應用程式功能是什麼?應該啟用還是停用它?

存檔應用程式是一項功能,可以自動卸載您很少使用的應用程序,同時保留其關聯的檔案和設定。了解如何有效利用 Windows 11 中的存檔應用程式功能。

如何在 Windows 10 上為 BlueStacks 5 啟用虛擬化 (VT)

如何在 Windows 10 上為 BlueStacks 5 啟用虛擬化 (VT)

要啟用虛擬化,您必須先進入 BIOS 並從 BIOS 設定中啟用虛擬化,這將顯著提升在 BlueStacks 5 上的效能和遊戲體驗。