欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Go語言服務器開發(fā)實現(xiàn)最簡單HTTP的GET與POST接口

 更新時間:2015年02月08日 14:58:46   作者:books1958  
這篇文章主要介紹了Go語言服務器開發(fā)實現(xiàn)最簡單HTTP的GET與POST接口,實例分析了Go語言http包的使用技巧,需要的朋友可以參考下

本文實例講述了Go語言服務器開發(fā)實現(xiàn)最簡單HTTP的GET與POST接口。分享給大家供大家參考。具體分析如下:

Go語言提供了http包,可以很輕松的開發(fā)http接口。以下為示例代碼:

復制代碼 代碼如下:
package webserver 
 
import ( 
    "encoding/json" 
    "fmt" 
    "net/http" 
    "time" 

 
func WebServerBase() { 
    fmt.Println("This is webserver base!") 
 
    //第一個參數(shù)為客戶端發(fā)起http請求時的接口名,第二個參數(shù)是一個func,負責處理這個請求。 
    http.HandleFunc("/login", loginTask) 
 
    //服務器要監(jiān)聽的主機地址和端口號 
    err := http.ListenAndServe("192.168.1.27:8081", nil) 
 
    if err != nil { 
        fmt.Println("ListenAndServe error: ", err.Error()) 
    } 

 
func loginTask(w http.ResponseWriter, req *http.Request) { 
    fmt.Println("loginTask is running...") 
 
    //模擬延時 
    time.Sleep(time.Second * 2) 
 
    //獲取客戶端通過GET/POST方式傳遞的參數(shù) 
    req.ParseForm() 
    param_userName, found1 := req.Form["userName"] 
    param_password, found2 := req.Form["password"] 
 
    if !(found1 && found2) { 
        fmt.Fprint(w, "請勿非法訪問") 
        return 
    } 
 
    result := NewBaseJsonBean() 
    userName := param_userName[0] 
    password := param_password[0] 
 
    s := "userName:" + userName + ",password:" + password 
    fmt.Println(s) 
 
    if userName == "zhangsan" && password == "123456" { 
        result.Code = 100 
        result.Message = "登錄成功" 
    } else { 
        result.Code = 101 
        result.Message = "用戶名或密碼不正確" 
    } 
 
        //向客戶端返回JSON數(shù)據(jù) 
    bytes, _ := json.Marshal(result) 
    fmt.Fprint(w, string(bytes)) 
}

NewBaseJsonBean用于創(chuàng)建一個struct對象:

復制代碼 代碼如下:
package webserver 
 
type BaseJsonBean struct { 
    Code    int         `json:"code"` 
    Data    interface{} `json:"data"` 
    Message string      `json:"message"` 

 
func NewBaseJsonBean() *BaseJsonBean { 
    return &BaseJsonBean{} 
}

希望本文所述對大家的Go語言程序設計有所幫助。

相關文章

  • 一些關于Go程序錯誤處理的相關建議

    一些關于Go程序錯誤處理的相關建議

    錯誤處理在每個語言中都是一項重要內(nèi)容,眾所周知,通常寫程序時遇到的分為異常與錯誤兩種,Golang中也不例外,這篇文章主要給大家介紹了一些關于Go程序錯誤處理的相關建議,需要的朋友可以參考下
    2021-09-09
  • Go每日一庫之zap日志庫的安裝使用指南

    Go每日一庫之zap日志庫的安裝使用指南

    這篇文章主要為大家介紹了Go每日一庫之zap安裝使用示例學習,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • Golang斷言判斷值類型的實現(xiàn)方法

    Golang斷言判斷值類型的實現(xiàn)方法

    這篇文章主要介紹了Golang斷言判斷值類型的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • Go并發(fā)編程實踐

    Go并發(fā)編程實踐

    并發(fā)編程一直是Golang區(qū)別與其他語言的很大優(yōu)勢,也是實際工作場景中經(jīng)常遇到的。近日筆者在組內(nèi)分享了我們常見的并發(fā)場景,及代碼示例,以期望大家能在遇到相同場景下,能快速的想到解決方案,或者是拿這些方案與自己實現(xiàn)的比較,取長補短?,F(xiàn)整理出來與大家共享
    2017-01-01
  • 一文帶你掌握Golang中的值類型和引用類型

    一文帶你掌握Golang中的值類型和引用類型

    在?Golang?中,數(shù)據(jù)類型可以分為兩大類:值類型(Value?Types)和引用類型(Reference?Types),理解這兩種類型的區(qū)別對于理解?Golang?中的數(shù)據(jù)傳遞和內(nèi)存管理是很重要的,下面就跟隨小編一起深入了解一下它們吧
    2024-01-01
  • go-micro開發(fā)RPC服務以及運行原理介紹

    go-micro開發(fā)RPC服務以及運行原理介紹

    這篇文章介紹了go-micro開發(fā)RPC服務的方法及其運行原理,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • go實現(xiàn)文件的創(chuàng)建、刪除與讀取示例代碼

    go實現(xiàn)文件的創(chuàng)建、刪除與讀取示例代碼

    這篇文章主要給大家介紹了關于go如何實現(xiàn)文件的創(chuàng)建、刪除與讀取的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧
    2019-02-02
  • Go語言中你所不知道的位操作用法

    Go語言中你所不知道的位操作用法

    位運算可能在平常的編程中使用的并不多,但涉及到底層優(yōu)化,一些算法及源碼可能會經(jīng)常遇見。下面這篇文章主要給大家介紹了關于Go語言中你所不知道的位操作用法的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下。
    2017-12-12
  • Golang RSA生成密鑰、加密、解密、簽名與驗簽的實現(xiàn)

    Golang RSA生成密鑰、加密、解密、簽名與驗簽的實現(xiàn)

    RSA 是最常用的非對稱加密算法,本文主要介紹了Golang RSA生成密鑰、加密、解密、簽名與驗簽的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2023-11-11
  • Golang如何使用go.mod配置加載本地模塊

    Golang如何使用go.mod配置加載本地模塊

    這篇文章主要介紹了Golang如何使用go.mod配置加載本地模塊問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09

最新評論