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

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

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

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

如何用最少的代碼創建一個HTTP server?HvQ28資訊網——每日最新資訊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()HvQ28資訊網——每日最新資訊28at.com

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

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

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

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

所以下面的代碼和上面的代碼也沒區別HvQ28資訊網——每日最新資訊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) }}

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

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

路由?no!Handler!

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

$ curl  127.0.0.1:8080 404 page not found

暫停思考一下,服務器返回404是因為沒有設定路由么?no,no,no,你需要轉變一下思維。服務器返回404不是因為我們沒有設置路由,而是因為沒有設置請求的處理程序,這個處理程序在Go中叫作:Handler!HvQ28資訊網——每日最新資訊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 主站蜘蛛池模板: 石渠县| 容城县| 泽库县| 峡江县| 阳泉市| 威远县| 百色市| 疏附县| 承德市| 晋城| 紫金县| 南漳县| 宜兰市| 玉门市| 龙山县| 阿鲁科尔沁旗| 阿拉善右旗| 宜章县| 郴州市| 来宾市| 元氏县| 桂平市| 菏泽市| 乌什县| 图片| 德清县| 滕州市| 荥阳市| 咸宁市| 阿克苏市| 大余县| 舒城县| 会同县| 方正县| 故城县| 伊宁市| 绥阳县| 周口市| 邢台市| 墨玉县| 如皋市|