Gin框架中的PostForm用法及說明
Gin框架中PostForm用法
最近重新在學(xué)習(xí)一下gin的:
這邊學(xué)到一個(gè)新的PostForm(),就是用來獲取前端輸入的字符串用的
貼代碼:
package main import ( "fmt" "github.com/gin-gonic/gin" ) func main() { r := gin.Default() r.POST("/api/test", func(ctx *gin.Context) { name := ctx.PostForm("姓名") fmt.Println("姓名:", name) age := ctx.PostForm("年齡") fmt.Println("年齡:", age) ctx.JSON(200, "這邊獲取到:"+name+" "+age) }) r.Run(":8090") }
這邊開啟后:
用postman進(jìn)行測試
這里需要注意,這里和之前的shouldbind不一樣的地方是:
是在Body下面的x-www-form-url進(jìn)行輸入?yún)?shù)的,而不是用之前的Params進(jìn)行數(shù)據(jù)傳入:
了通過URL查詢參數(shù)提交數(shù)據(jù)到服務(wù)器外,常用的還有通過Form表單的方式。
Form表單相比URL查詢參數(shù),用戶體驗(yàn)好,可以承載更多的數(shù)據(jù),尤其是文件上傳,所以也更為方便。
Form表單
對于Form表單,我們不會陌生,比如input文本框、密碼框等等,可以讓我們輸入一些數(shù)據(jù),然后點(diǎn)擊「保存」、「提交」等按鈕,把數(shù)據(jù)提交到服務(wù)器的。
對于Form表單來說,有兩種提交方式GET和POST。其中GET方式就是我們前兩篇文章的URL查詢參數(shù)的方式,參考即可獲得對應(yīng)的參數(shù)鍵值對,這篇文章主要介紹POST的方式的表單,而Gin處理的也是這種表單。
如果一定要用c.PostForm() headers必須為x-www-form-urlencoded
go語言的特點(diǎn)
語法簡潔
Go 語言簡單易學(xué),學(xué)習(xí)曲線平緩,不需要像 C/C++ 語言動輒需要兩到三年的學(xué)習(xí)期。
Go 語言被稱為“互聯(lián)網(wǎng)時(shí)代的C語言”。
Go 語言的風(fēng)格類似于C語言。
其語法在C語言的基礎(chǔ)上進(jìn)行了大幅的簡化,去掉了不需要的表達(dá)式括號,循環(huán)也只有 for 一種表示方法,就可以實(shí)現(xiàn)數(shù)值、鍵值等各種遍歷。
代碼風(fēng)格統(tǒng)一
Go 語言提供了一套格式化工具——go fmt。
一些 Go 語言的開發(fā)環(huán)境或者編輯器在保存時(shí),都會使用格式化工具進(jìn)行修改代碼的格式化,這樣就保證了不同開發(fā)者提交的代碼都是統(tǒng)一的格式。
執(zhí)行性能好
Go語言是一門編譯型的語言,我們編寫好的代碼直接編譯成服務(wù)器可以執(zhí)行的二進(jìn)制可執(zhí)行文件。
開發(fā)效率高
Go語言雖然是一門編譯型的語言,但是它內(nèi)置了垃圾回收機(jī)制,降低了開發(fā)者的心智負(fù)擔(dān),使其擁有像Python、PHP等解釋性語言的一樣的開發(fā)效率。
真正實(shí)現(xiàn)了開發(fā)效率和執(zhí)行效率的完美結(jié)合。
天生支持并發(fā)
Go于2009年發(fā)布,當(dāng)時(shí)多核處理器已經(jīng)上市。
Go語言在多核并發(fā)上擁有原生的設(shè)計(jì)優(yōu)勢,Go語言從底層原生支持并發(fā),無須第三方庫、開發(fā)者的編程技巧和開發(fā)經(jīng)驗(yàn)。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Go條件控制語句詳解(if-else、switch和select)
條件語句用于檢查一個(gè)條件是否為真,并根據(jù)條件的真假來決定是否執(zhí)行相應(yīng)的代碼,下面這篇文章主要給大家介紹了關(guān)于Go條件控制語句(if-else、switch和select)的相關(guān)資料,需要的朋友可以參考下2024-03-03Go語言中的init函數(shù)特點(diǎn)及用法詳解
在Go語言中,init()函數(shù)是一種特殊的函數(shù),用于在程序啟動時(shí)自動執(zhí)行一次。它的存在為我們提供了一種機(jī)制,可以在程序啟動時(shí)進(jìn)行一些必要的初始化操作,為程序的正常運(yùn)行做好準(zhǔn)備,在這篇文章中,我們將詳細(xì)探討init()函數(shù)的特點(diǎn)、用途和注意事項(xiàng)2023-06-06Go設(shè)計(jì)模式之狀態(tài)模式講解和代碼示例
狀態(tài)是一種行為設(shè)計(jì)模式,?讓你能在一個(gè)對象的內(nèi)部狀態(tài)變化時(shí)改變其行為,該模式將與狀態(tài)相關(guān)的行為抽取到獨(dú)立的狀態(tài)類中,?讓原對象將工作委派給這些類的實(shí)例,?而不是自行進(jìn)行處理,本文將通過代碼示例給大家簡單的介紹一下Go狀態(tài)模式2023-08-08淺談Golang中創(chuàng)建一個(gè)簡單的服務(wù)器的方法
這篇文章主要介紹了淺談Golang中創(chuàng)建一個(gè)簡單的服務(wù)器的方法,golang中的net/http包對網(wǎng)絡(luò)的支持非常好,這樣會讓我們比較容易的建立起一個(gè)相對簡單的服務(wù)器,有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06go調(diào)用shell命令兩種方式實(shí)現(xiàn)(有無返回值)
本文主要介紹了go調(diào)用shell命令兩種方式實(shí)現(xiàn)(有無返回值),主要用于執(zhí)行shell命令,并且返回shell的標(biāo)準(zhǔn)輸出,具有一定的參考價(jià)值,感興趣的可以了解一下2021-12-12