五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網 會員登陸 & 注冊

Go 基礎教程 - 制作簡易服務器

2022-07-14 18:41 作者:gewzk  | 我要投稿

這篇教程以 Go 為核心,主要說明如何使用 Go 語言制作簡易的服務器。在開始這篇 Go 教程之前,你可能需要一些 HTML 的基本知識。這篇教程文章中會展示一些使用 HTML 及 CSS 制作而成的網頁,我們會公開展示這些比較復雜的代碼讓大家動手嘗試,大部分功能也可以用最簡單的 HTML 代碼實現(xiàn)。

得益于 Go 語言中內建的 HTTP 庫,Go 語言在搭建服務器上具有簡單、高效的優(yōu)勢。這篇教程中的服務器通過接受 GET 請求并作出反饋,同時使用 POST 請求處理表單提交等任務。

這篇教程基本涉及三個簡單的流程:

在編寫代碼之前,我們需要在 Go 項目中創(chuàng)建名為 static 的文件夾,然后分別新建 index.html 以及 form.html 兩個文件。

1. 在支持 Go 語言的編輯器中建立 Go 項目,一般初始文件為 main.go

2. 在 Go 項目中創(chuàng)建名為 static 的文件夾,然后分別新建 index.html 以及 form.html 兩個文件。

配置 main.go 文件

在我們的 Go 主程序中,我們需要先導入三個 Go 語言的基本庫。這些庫為 Go 語言內建的標準庫,不需要額外安裝,直接導入即可。

接著,我們來看代碼中的 main() 部分:

我們首先通過 fileServer := http.FileServer(http.Dir("./static")) 鏈接我們事先創(chuàng)建好的文件夾,然后通過 HandleHandleFunc 函數(shù)添加服務器路線。

"/hello" 為例,服務器運行后會在網址欄監(jiān)聽 /hello 的請求。當我們在服務器網址后方輸入 http://localhost:8080/hello 時,便會運行相應的程序。

主程序末端的三行代碼主要是確定程序是否正確運行,若程序出錯,代碼便會報錯。

helloHandler 及 formHandler

我們在主程序中創(chuàng)建了 helloHandlerformhandler 兩個函數(shù),這兩個函數(shù)分別寫入以下代碼:

helloHandler:

這兩個處理程序使用 Request 檢查路徑是否正確。若路徑不正確,則服務器返 StatusNotFound,而若程序與 GET 不符合,則會返回 “method is not supported”。若兩者均符合,服務器就會運行下方的程序,在頁面中返回 "hello!"。

formHandler:

在表單處理程序中,我們則通過 ParseForm() 函數(shù)解析所接受的數(shù)據并更新 r.PostForm 以及r.Form,通過r.FormValue 訪問nameaddress 中的值。最后,我們通過 fmt.Fprintf 將這兩個值寫入 ResponseWriter 中。

編寫 HTML 代碼

這篇文章只需要最簡單的 HTML 網頁代碼以及表單代碼即可,下方的首頁、表單頁面可以通過 Lightly 的快照獲取完整代碼:https://ad57775530-share.lightly.teamcode.com

試運行服務器

完成代碼配置后,我們可以運行程序查看頁面運行效果:

在網址欄中末尾輸入 /hello,即可返回 "hello!" 文本。

在網址欄中末尾輸入 /form.html 跳轉到表單頁面后,填寫表單并點擊提交即可跳轉到 POST 請求成功頁面。


Go 基礎教程 - 制作簡易服務器的評論 (共 條)

分享到微博請遵守國家法律
新乡县| 遂宁市| 泸溪县| 静宁县| 积石山| 木里| 林芝县| 奇台县| 阿合奇县| 拜泉县| 苗栗市| 类乌齐县| 江门市| 宁国市| 博兴县| 宝丰县| 瓦房店市| 光山县| 朝阳市| 托克逊县| 象州县| 如东县| 通河县| 梨树县| 吉木萨尔县| 咸丰县| 苏尼特右旗| 康乐县| 荆门市| 于田县| 新野县| 舟曲县| 巩义市| 石泉县| 通州市| 焉耆| 平湖市| 太仆寺旗| 苍溪县| 崇州市| 苏尼特右旗|