婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Go語言實現的一個簡單Web服務器

Go語言實現的一個簡單Web服務器

熱門標簽:滁州自建外呼系統 海外照相館地圖標注入駐 智能營銷軟件 外呼系統多少錢一年 客服級電銷機器人 工商信用卡外呼系統教程 外呼系統如何接收服務密碼 經常接到推銷電話機器人的電話 旅游廁所如何電子地圖標注

Web是基于http協議的一個服務,Go語言里面提供了一個完善的net/http包,通過http包可以很方便的就搭建起來一個可以運行的Web服務。同時使用這個包能很簡單地對Web的路由,靜態文件,模版,cookie等數據進行設置和操作。

http包建立Web服務器

復制代碼 代碼如下:

package main

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

func sayhelloName(w http.ResponseWriter, r *http.Request) {
    r.ParseForm()  //解析參數,默認是不會解析的
    fmt.Println(r.Form)  //這些信息是輸出到服務器端的打印信息
    fmt.Println("path", r.URL.Path)
    fmt.Println("scheme", r.URL.Scheme)
    fmt.Println(r.Form["url_long"])
    for k, v := range r.Form {
        fmt.Println("key:", k)
        fmt.Println("val:", strings.Join(v, ""))
    }
    fmt.Fprintf(w, "Hello astaxie!") //這個寫入到w的是輸出到客戶端的
}

func main() {
    http.HandleFunc("/", sayhelloName) //設置訪問的路由
    err := http.ListenAndServe(":9090", nil) //設置監聽的端口
    if err != nil {
        log.Fatal("ListenAndServe: ", err)
    }
}

上面這個代碼,我們build之后,然后執行web.exe,這個時候其實已經在9090端口監聽http鏈接請求了。

在瀏覽器輸入http://localhost:9090

可以看到瀏覽器頁面輸出了Hello astaxie!

可以換一個地址試試:http://localhost:9090/?url_long=111url_long=222

看看瀏覽器輸出的是什么,服務器輸出的是什么?

在服務器端輸出的信息如下:

圖3.8 用戶訪問Web之后服務器端打印的信息

我們看到上面的代碼,要編寫一個Web服務器很簡單,只要調用http包的兩個函數就可以了。

如果你以前是PHP程序員,那你也許就會問,我們的nginx、apache服務器不需要嗎?Go就是不需要這些,因為他直接就監聽tcp端口了,做了nginx做的事情,然后sayhelloName這個其實就是我們寫的邏輯函數了,跟php里面的控制層(controller)函數類似。

如果你以前是Python程序員,那么你一定聽說過tornado,這個代碼和他是不是很像,對,沒錯,Go就是擁有類似Python這樣動態語言的特性,寫Web應用很方便。

如果你以前是Ruby程序員,會發現和ROR的/script/server啟動有點類似。

我們看到Go通過簡單的幾行代碼就已經運行起來一個Web服務了,而且這個Web服務內部有支持高并發的特性,我將會在接下來的兩個小節里面詳細的講解一下Go是如何實現Web高并發的。

您可能感興趣的文章:
  • Go語言服務器開發實現最簡單HTTP的GET與POST接口
  • 利用Go語言搭建WebSocket服務端方法示例
  • Go語言使用HTTP包創建WEB服務器的方法
  • 利用Go語言初步搭建一個web應用的教程
  • go語言實現通過FTP庫自動上傳web日志
  • Go語言實現的web爬蟲實例
  • Go語言實現簡單Web服務器的方法
  • Go語言實現簡單的一個靜態WEB服務器
  • 解決Golang在Web開發時前端莫名出現的空白換行
  • golang基于websocket實現的簡易聊天室程序
  • Go語言Web編程實現Get和Post請求發送與解析的方法詳解

標簽:深圳 喀什 楚雄 九江 晉城 本溪 運城 湘潭

巨人網絡通訊聲明:本文標題《Go語言實現的一個簡單Web服務器》,本文關鍵詞  語言,實現,的,一個,簡單,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Go語言實現的一個簡單Web服務器》相關的同類信息!
  • 本頁收集關于Go語言實現的一個簡單Web服務器的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 同心县| 南京市| 嘉兴市| 开阳县| 桑植县| 道真| 安化县| 盐池县| 洞口县| 兖州市| 南乐县| 维西| 体育| 横山县| 天门市| 玉林市| 扶余县| 凌海市| 三门峡市| 临洮县| 星子县| 博乐市| 翼城县| 锡林浩特市| 英山县| 玛多县| 沽源县| 蕉岭县| 焦作市| 彭州市| 福清市| 巴中市| 分宜县| 江都市| 张家界市| 安平县| 铜梁县| 广宁县| 美姑县| 新蔡县| 朔州市|