前言
都說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