万物皆是 CURD 

使用 go lang 创建一个 web 应用,实现以下功能:

  1. 返回带有分页数据的页面;
  2. 将提交数据保存至 Mysql 数据库;
  3. 对数据进行删除;修改操作;
  4. 返回 JSON 格式数据。

首先第一步,了解 go lang 怎么创建一个 WEB 服务器,go lang 版本为:1.19。

Go Hello Server

用到了 net/http 库,完整代码如下:

package main

import (
	"fmt"
	"net/http"
	"time"
)

type timeHandler struct {
	format string
}

func (th timeHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
	tm := time.Now().Format(th.format)
	w.Write([]byte("The time is: " + tm))
}

func main() {
	mux := http.NewServeMux()
	// Initialise the timeHandler in exactly the same way we would any normal
	// struct.
	th := timeHandler{format: time.RFC1123}

	// Like the previous example, we use the mux.Handle() fnction to register
	// this with our ServeMux.
	mux.Handle("/time", th)
	mux.HandleFunc("/hello", func(writer http.ResponseWriter, request *http.Request) {
		fmt.Fprintf(writer, "Hello World, $s!", request.URL.Path[1:])
	})
	http.ListenAndServe(":8080", mux)

}

上述代码实现了一个 WEB 服务,监听 8080 端口,当访问 hell 连接的时候返回 Hello World 以及当前请求路径字符串,访问 time 路径时,输出当前时间。



time 和 hello 分别用两种不同的方式实现,其中 time 路径使用自定义 handle,hello 使用了 func。


参考:

《Go 语言编程入门》

https://www.alexedwards.net/blog/an-introduction-to-handlers-and-servemuxes-in-go