go語(yǔ)言實(shí)現(xiàn)處理表單輸入
更新時(shí)間:2015年03月20日 10:44:28 投稿:hebedich
本文給大家分享的是一個(gè)使用go語(yǔ)言實(shí)現(xiàn)處理表單輸入的實(shí)例代碼,非常的簡(jiǎn)單,僅僅是實(shí)現(xiàn)了用戶名密碼的驗(yàn)證,有需要的小伙伴可以自由擴(kuò)展下。
login.html
復(fù)制代碼 代碼如下:
<html>
<head><title></title></head>
<body>
<form action="http://localhost:9090/login" method="post">
用戶名:<input type="text" name="username">
密 碼:<input type="text" name="password">
<input type="submit" value="登錄">
</form>
</body>
</html>
main.go
復(fù)制代碼 代碼如下:
package main
import (
"fmt"
"html/template"
"log"
"net/http"
"strings"
)
func sayHelloName(w http.ResponseWriter, r *http.Request) {
// 解析url傳遞的參數(shù)
r.ParseForm()
//在服務(wù)端打印信息
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)
// join() 方法用于把數(shù)組中的所有元素放入一個(gè)字符串。
// 元素是通過(guò)指定的分隔符進(jìn)行分隔的
fmt.Println("val:", strings.Join(v, ""))
}
// 輸出到客戶端
fmt.Fprintf(w, "hello astaxie!")
}
func login(w http.ResponseWriter, r *http.Request) {
fmt.Println("method:", r.Method)
if r.Method == "GET" {
t, _ := template.ParseFiles("login.html")
// 執(zhí)行解析模板
// func (t *Template) Execute(wr io.Writer, data interface{}) error {
t.Execute(w, nil)
} else {
r.ParseForm()
fmt.Println("username:", r.Form["username"])
fmt.Println("password:", r.Form["password"])
}
}
func main() {
//設(shè)置訪問(wèn)路由
http.HandleFunc("/", sayHelloName)
http.HandleFunc("/login", login)
//設(shè)置監(jiān)聽(tīng)端口
err := http.ListenAndServe(":9090", nil)
if err != nil {
log.Fatal("ListenAndserve:", err)
}
}
以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。
相關(guān)文章
Go語(yǔ)言為什么不支持前綴自增運(yùn)算符原理解析
這篇文章主要為大家介紹了Go語(yǔ)言為什么不支持前綴自增運(yùn)算符原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
Go語(yǔ)言開(kāi)發(fā)環(huán)境搭建與初探(Windows平臺(tái)下)
Go是Google開(kāi)發(fā)的一種編譯型,並發(fā)型,并具有垃圾回收功能的編程語(yǔ)言,可能很多人想學(xué)習(xí)go語(yǔ)言,那么首先就要了解go語(yǔ)言的環(huán)境配置方法2014-10-10
Go項(xiàng)目與Docker結(jié)合實(shí)現(xiàn)高效部署深入探究
在現(xiàn)代軟件開(kāi)發(fā)中,使用Docker部署應(yīng)用程序已經(jīng)成為一種標(biāo)準(zhǔn)實(shí)踐,本文將深入探討如何將Go項(xiàng)目與Docker結(jié)合,實(shí)現(xiàn)高效、可靠的部署過(guò)程,通過(guò)詳細(xì)的步驟和豐富的示例,你將能夠迅速掌握這一流程2023-12-12
Go語(yǔ)言使用templ實(shí)現(xiàn)編寫(xiě)HTML用戶界面
templ是一個(gè)在 Go 中編寫(xiě) HTML 用戶界面的語(yǔ)言,使用 templ,我們可以創(chuàng)建可呈現(xiàn) HTML 片段的組件,下面就跟隨小編一起了解一下具體的實(shí)現(xiàn)方法吧2023-12-12

