搭建简单的Go服务

最近一直都在进行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()是一个方法 是没有返回值的