日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

深入理解Go標準庫-HTTP-Server的啟動

來源: 責編: 時間:2023-11-01 09:18:07 334觀看
導讀如何用最少的代碼創建一個HTTP server?package mainimport ( "net" "net/http")func main() { // 方式1 err := http.ListenAndServe(":8080", nil) if err != nil { panic(err) }}點開http.ListenAndServe可以看到

如何用最少的代碼創建一個HTTP server?IQB28資訊網——每日最新資訊28at.com

package mainimport ( "net" "net/http")func main() { // 方式1 err := http.ListenAndServe(":8080", nil) if err != nil {   panic(err) }}

點開http.ListenAndServe可以看到函數只是創建了Server類型并調用server.ListenAndServe()IQB28資訊網——每日最新資訊28at.com

所以下面的和上面的代碼沒有區別IQB28資訊網——每日最新資訊28at.com

package mainimport ( "net" "net/http")func main() { // 方式2 server := &http.Server{Addr: ":8080"} err := server.ListenAndServe() if err != nil {  panic(err) }}

ListenAndServe()如其名會干兩件事IQB28資訊網——每日最新資訊28at.com

  • 監聽一個端口,即Listen的過程
  • 處理進入端口的連接,即Serve的過程

所以下面的代碼和上面的代碼也沒區別IQB28資訊網——每日最新資訊28at.com

package mainimport ( "net" "net/http")func main() { // 方式3 ln, err := net.Listen("tcp", ":8080") if err != nil {  panic(err) } server := &http.Server{} err = server.Serve(ln) if err != nil {  panic(err) }}

一張圖展示三種使用方式IQB28資訊網——每日最新資訊28at.com

圖片圖片IQB28資訊網——每日最新資訊28at.com

路由?no!Handler!

按上面的代碼啟動HTTP Server沒有太大意義,因為我們還沒有設定路由,所以無法正常響應請求IQB28資訊網——每日最新資訊28at.com

$ curl  127.0.0.1:8080 404 page not found

暫停思考一下,服務器返回404是因為沒有設定路由么?no,no,no,你需要轉變一下思維。服務器返回404不是因為我們沒有設置路由,而是因為沒有設置請求的處理程序,這個處理程序在Go中叫作:Handler!IQB28資訊網——每日最新資訊28at.com

type Handler interface { ServeHTTP(ResponseWriter, *Request)}

本文鏈接:http://www.www897cc.com/showinfo-26-16258-0.html深入理解Go標準庫-HTTP-Server的啟動

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 快速入門Python Django模型實例!

下一篇: Tailwind CSS vs 現代CSS,Tailwind CSS 會像CSS-in-JS 一樣亡?

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 高州市| 辽宁省| 涿州市| 鄂尔多斯市| 东港市| 阿图什市| 晋江市| 凉城县| 湟源县| 西平县| 溧阳市| 玉溪市| 呼伦贝尔市| 河池市| 景谷| 盘锦市| 磴口县| 太仆寺旗| 临朐县| 临清市| 宁远县| 泸溪县| 新邵县| 普格县| 始兴县| 日照市| 昆山市| 高碑店市| 浮山县| 嘉峪关市| 东莞市| 宁德市| 和硕县| 开远市| 安福县| 永胜县| 桑植县| 岗巴县| 淮南市| 梓潼县| 新河县|