最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

golang獲取用戶輸入的幾種方式

 更新時間:2024年01月17日 09:23:04   作者:余生逆風(fēng)飛翔  
這篇文章給大家介紹了golang獲取用戶輸入的幾種方式,文中通過代碼示例給大家講解的非常詳細,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友跟著小編一起來學(xué)習(xí)吧

一、定義結(jié)構(gòu)體

type UserInfo struct {
    Name string `json:"name"`
    Age  int    `json:"age"`
    Add  string `json:"add"`
}

type ReturnData struct {
    Message string   `json:"message"`
    Status  string   `json:"status"`
    Data    UserInfo `json:"data"`
}

二、get請求的Query方法

func getBindUser(c *gin.Context) {
    //query用來獲取用戶輸入的參數(shù)
    name := c.Query("name")
    //用來轉(zhuǎn)換用戶輸入的參數(shù)為數(shù)字
    age, _ := strconv.Atoi(c.Query("age"))
    //用來獲取用戶輸入的參數(shù),并設(shè)置默認值為 "上海"
    add := c.DefaultQuery("add", "上海")
    //結(jié)構(gòu)體實例化后與用戶輸入?yún)?shù)綁定
    userinfo := UserInfo{
        Name: name,
        Age:  age,
        Add:  add,
    }
    //結(jié)構(gòu)體實例化并接收用戶輸入的參數(shù)進行綁定,實例化有兩種方式,下面注釋的算一種,未注釋的是另一種
    // returnData := make(map[string]interface{})
    returnData := ReturnData{}
    returnData.Message = "加載配置成功!"
    returnData.Status = "200"
    returnData.Data = userinfo
    c.JSON(http.StatusOK, returnData)
    fmt.Println(returnData)
}

三、post請求

1.獲取用戶輸入?yún)?shù)的方法,并直接綁定到j(luò)son格式

func returnDataBindUser(c *gin.Context) {
    userInfo := UserInfo{}
    if err := c.ShouldBindJSON(&userInfo); err != nil {
        c.JSON(http.StatusOK, gin.H{
            "messages": "加載配置失?。?,
            "status":   500,
        })
        fmt.Println("參數(shù)傳遞失敗。。。", err.Error())
    } else {
        c.JSON(http.StatusOK, userInfo)
        fmt.Printf("姓名:%s\n年齡:%d\n地址:%s\n", userInfo.Name, userInfo.Age, userInfo.Add)
    }
}

2.第二種方式就是用formdata,此函數(shù)用from-data方式獲取

四、設(shè)置token獲取

這兒設(shè)置一下token的獲取,并為用jwt方式,只是通過用戶輸入任意字符來判斷是否帶有token用來做個測試這個功能的安全是否成功

func glbloTokenIsNo(c *gin.Context) {
    //這塊兒是用戶輸入的任意字符當(dāng)做token,腳本架部分會用到j(luò)wt
    token := c.Query("token")
    //這塊兒會判斷是否為空串,字符串要用空串判斷,數(shù)字才可以用!=nil判斷
    if token == "" {
        returnData := ReturnData{
            Message: "獲取token失敗!",
            Status:  "401",
        }
        c.JSON(http.StatusOK, returnData)
    }
    c.String(200, "登錄成功!")
}

五、路由分組

注:開始不懂為什么要分組,后來明白了,分組主不是用來管理路由,比如:你的訪問url特別長,像/api/user/addUser/和/api/user/deleteUser這兩個就可以將/api/app分為一組

apiGroup := r.Group("/api/user")

使用的時候就可以寫成如下這樣

//這樣apiGroup就代表/api/user了
apiGroup.POST("/addUser", returnDataBindUser)

以上就是golang獲取用戶輸入的幾種方式的詳細內(nèi)容,更多關(guān)于golang獲取用戶輸入的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 使用golang獲取linux上文件的訪問/創(chuàng)建/修改時間

    使用golang獲取linux上文件的訪問/創(chuàng)建/修改時間

    這篇文章主要介紹了使用golang獲取linux上文件的訪問/創(chuàng)建/修改時間,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-08-08
  • go語言中的數(shù)組指針和指針數(shù)組的區(qū)別小結(jié)

    go語言中的數(shù)組指針和指針數(shù)組的區(qū)別小結(jié)

    本文主要介紹了go語言中的數(shù)組指針和指針數(shù)組的區(qū)別小結(jié),文中通過示例代碼介紹的很詳細,具有一定的參考價值,感興趣的可以了解一下
    2024-10-10
  • 詳解Go語言中數(shù)組,切片和映射的使用

    詳解Go語言中數(shù)組,切片和映射的使用

    Arrays (數(shù)組), Slices (切片) 和 Maps (映射) 是常見的一類數(shù)據(jù)結(jié)構(gòu)。這篇文章將為大家詳細介紹一下Go語言中數(shù)組,切片和映射的使用,感興趣的可以學(xué)習(xí)一下
    2022-07-07
  • Go底層之string和[]byte相互轉(zhuǎn)換原理分析

    Go底層之string和[]byte相互轉(zhuǎn)換原理分析

    這篇文章主要介紹了Go底層之string和[]byte相互轉(zhuǎn)換原理,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • golang自帶的死鎖檢測并非銀彈的問題小結(jié)

    golang自帶的死鎖檢測并非銀彈的問題小結(jié)

    Go語言自帶的死鎖檢測機制并不萬能,它只對用戶創(chuàng)建的協(xié)程進行檢測,并且在特定條件下可能會“失靈”,死鎖檢測的觸發(fā)時機和檢測內(nèi)容也有限制,因此不能完全避免死鎖問題,為了預(yù)防死鎖,應(yīng)該在編寫代碼時提前進行設(shè)計和測試,感興趣的朋友跟隨小編一起看看吧
    2025-01-01
  • Go?復(fù)合類型之字典類型使用教程示例

    Go?復(fù)合類型之字典類型使用教程示例

    這篇文章主要為大家介紹了Go復(fù)合類型之字典類型使用教程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • Go語言性能監(jiān)控和調(diào)優(yōu)的工具和方法

    Go語言性能監(jiān)控和調(diào)優(yōu)的工具和方法

    本文介紹了Go語言性能監(jiān)控和調(diào)優(yōu)的工具和方法,包括?pprof、expvar?和?trace?等工具的使用方法和注意事項,以及性能調(diào)優(yōu)的一些常見方法,如減少內(nèi)存分配、避免頻繁的垃圾回收、避免過度查詢數(shù)據(jù)庫等,針對不同的程序,應(yīng)該根據(jù)實際情況采用不同的優(yōu)化方法
    2024-01-01
  • 詳解Go語言如何使用標準庫sort對切片進行排序

    詳解Go語言如何使用標準庫sort對切片進行排序

    Sort?標準庫提供了對基本數(shù)據(jù)類型的切片和自定義類型的切片進行排序的函數(shù)。今天主要分享的內(nèi)容是使用?Go?標準庫?sort?對切片進行排序,感興趣的可以了解一下
    2022-12-12
  • golang連接kafka消費進ES操作

    golang連接kafka消費進ES操作

    這篇文章主要介紹了golang連接kafka消費進ES操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • GO語言利用K近鄰算法實現(xiàn)小說鑒黃

    GO語言利用K近鄰算法實現(xiàn)小說鑒黃

    本文給大家分享的是一段GO語言利用K近鄰算法實現(xiàn)小說鑒黃的方法,本方法的鑒別的關(guān)鍵是關(guān)鍵是向量點的選擇和閾值的判定,推薦給大家,有需要的小伙伴可以參考下。
    2015-03-03

最新評論

明溪县| 莱州市| 兴安县| 喜德县| 齐河县| 志丹县| 泸西县| 太原市| 中方县| 揭阳市| 波密县| 体育| 广州市| 静宁县| 抚松县| 周宁县| 合江县| 庄浪县| 卢龙县| 金秀| 石楼县| 西乌珠穆沁旗| 常宁市| 开封县| 宜阳县| 盖州市| 庆城县| 大冶市| 井冈山市| 周口市| 孟州市| 海林市| 台中市| 舟曲县| 桐梓县| 泸溪县| 长子县| 乃东县| 渝中区| 福州市| 灵寿县|