搭建简单的Go服务
2012-12-19 15:23 AlexDotNet 阅读(964) 评论(0) 编辑 收藏 举报最近一直都在进行go语言的学习 希望在学习的时候可以整理一下自己所学的
在go语言中构建一个简单的web 服务非常简单
先简单看下代码:参照 build-web application-with golang
package main import ( "fmt" "html/template" "log" "net/http" "strings" ) 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 宝贝,么么哒") } func login(w http.ResponseWriter, r *http.Request) { fmt.Println("mtehod:", r.Method) if r.Method == "GET" { t, _ := template.ParseFiles("C://GO//login.gtpl") if t == nil { fmt.Println("nil") } t.Execute(w, nil) } else { r.ParseForm() fmt.Println("username:", r.Form["username"]) fmt.Println("password:", r.Form["password"]) } } func main() { http.HandleFunc("/", sayhelloName) http.HandleFunc("/login", login) err := http.ListenAndServe(":9090", nil) //监听端口 if err != nil { log.Fatal("ListenAndServer:", err) } }
每个main函数 必须有package 这个包而且要包含 main
import 导入的时候 必须 有用到的才导入 要不然会报错
下面的sayhelloName()是一个方法 是没有返回值的