前言
都说go是搭建微服务的神器,所以我也想学习学习这方面的知识,但是万丈高楼平地起,所以咱们还是一步步来吧。首先学习下怎么搭建一个简单的web服务。
正文
这里我们需要借用go的一个库来实现,就是 net/http,通过http包提供了HTTP客户端和服务端的实现。同时使用这个包能很简单地对web的路由,静态文件,模版,cookie等数据进行设置和操作。
例:
package main
import (
"fmt"
"net/http"
"log"
)
func sayhelloName(w http.ResponseWriter, r *http.Request) {
r.ParseForm() //解析参数,默认是不会解析的
fmt.Println(r.Form) //这些信息是输出到服务器端的打印信息
fmt.Fprintf(w, "Hello Wrold!") //这个写入到w的是输出到客户端的
}
func main() {
http.HandleFunc("/hello", sayhelloName)
err := http.ListenAndServe(":8090", nil) //设置监听的端口
if err != nil {
log.Fatal("ListenAndServe: ", err)
}
}
编写完代码,然后运行该文件,则可以通过监听的端口和路由直接访问了
这就完成了,是不是很简单,通过简单的几行代码就已经运行起来一个Web服务了,go可以直接监听tcp的端口,而且这个Web服务内部有支持高并发的特性。
当然我们也可以使用框架来构建服务,更规范和全面,大概看了下在web服务方面,echo框架是比较轻量级、高性能的web框架,适合咱们初入门使用。使用文档:https://www.tizi365.com/archives/28.html