Go语言编写第一个web程序

Web应用基于http协议,Go语言里面提供了一个完善的net/http包,通过http包可以很方便的就搭建起来一个可以运行的Web服务。同时使用这个包能很简单地对Web的路由,静态文件,模版,cookie等数据进行设置和操作。

1、编写代码

vim web.go

package main

import (
    "fmt"
    "net/http"
    "strings"
    "log"
)

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, "<h1>你好,世界!</h1>!") //输出到客户端的信息
}

func main() {
    http.HandleFunc("/", sayhelloName) //设置访问的路由
    err := http.ListenAndServe(":9090", nil) //设置监听的端口
    if err != nil {
        log.Fatal("ListenAndServe: ", err)
    }
}

2、运行程序

$ go run web.go

3、测试访问

不带参数访问

http://localhost:9090/

或者带参数访问

http://localhost:9090/?username=zhangsan

命令行测试

另外开一个命令行窗口运行

$ curl http://localhost:9090/

4.4、生成二进制

$ go build web.go 
$ ls
web    web.go
$ ./web 

发表评论

邮箱地址不会被公开。 必填项已用*标注