欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

golang中的net/http庫基本使用詳解

 更新時間:2024年04月23日 09:59:08   作者:淡墨@~無痕  
今天給大家分享golang中的net/http庫基本使用方法,文章開頭給大家詳細介紹了標準庫net/http如何處理一個請求,結合實例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧

關于net/http庫

我們先看看標準庫net/http如何處理一個請求。

import (
	"fmt"
	"log"
	"net/http"
)
var count = 0
func main() {
	http.HandleFunc("/", handler)
	http.HandleFunc("/count", counter)
	log.Fatal(http.ListenAndServe("localhost:8000", nil))
}
func handler(w http.ResponseWriter, r *http.Request) {
	fmt.Fprintf(w, "URL.Path = %q\n", r.URL.Path)
	fmt.Printf("URL.Path = %q\n", r.URL.Path)
}
func counter(w http.ResponseWriter, r *http.Request) {
	count++
	fmt.Fprintf(w, "URL.Path = %q\n", r.URL.Path)
	fmt.Println(count)
}

代碼塊定義了兩個不同的路由,分別是“/”和“/count”,分別綁定 handler 和 counter, 根據不同的HTTP請求會調用不同的處理函數。
調用“/”路由處理方法得到的結果是:

調用“/count”路由處理方法得到的結果是:

發(fā)送Get請求并獲取響應

import (
	"fmt"
	"io/ioutil"
	"net/http"
)
func main() {
	resp, err := http.Get("https://www.baidu.com")
	if err != nil {
		fmt.Println("Error:", err)
		return
	}
	defer resp.Body.Close()
	body, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		fmt.Println("Error:", err)
		return
	}
	fmt.Println(string(body))
}

執(zhí)行程序獲取到的結果是:

發(fā)送Post請求并獲取響應

import (
	"fmt"
	"io/ioutil"
	"net/http"
	"strings"
)
func main() {
	payload := strings.NewReader("data=example")
	resp, err := http.Post("https://www.baidu.com", "application/x-www-form-urlencoded", payload)
	if err != nil {
		fmt.Println("Error:", err)
		return
	}
	defer resp.Body.Close()
	body, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		fmt.Println("Error:", err)
		return
	}
	fmt.Println(string(body))
}

執(zhí)行程序獲取到的結果是:

到此這篇關于golang中的net/http庫基本使用詳解的文章就介紹到這了,更多相關golang net/http庫內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • go?build失敗報方法undefined的解決過程

    go?build失敗報方法undefined的解決過程

    go build命令用于編譯我們指定的源碼文件或代碼包以及它們的依賴包,下面這篇文章主要給大家介紹了關于go?build失敗報方法undefined的解決過程,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-11-11
  • 詳解Go語言中for循環(huán),break和continue的使用

    詳解Go語言中for循環(huán),break和continue的使用

    這篇文章主要通過一些示例為大家介紹一下Go語言中for循環(huán)、break和continue的基本語法以及使用,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-06-06
  • Golang學習筆記之延遲函數(defer)的使用小結

    Golang學習筆記之延遲函數(defer)的使用小結

    這篇文章主要介紹了Golang學習筆記之延遲函數(defer),小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • 一篇文章帶你輕松搞懂Golang的error處理

    一篇文章帶你輕松搞懂Golang的error處理

    在進行后臺開發(fā)的時候,錯誤處理是每個程序員都會遇到的問題,下面這篇文章主要給大家介紹了關于Golang中error處理的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • GO使用阿里云,解決go get下載項目慢或無法下載的情況

    GO使用阿里云,解決go get下載項目慢或無法下載的情況

    這篇文章主要介紹了GO使用阿里云,解決go get下載項目慢或無法下載的情況,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Go中的交叉編譯問題

    Go中的交叉編譯問題

    這篇文章主要介紹了Go中的交叉編譯問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • GoLang?Time時間操作函數講解

    GoLang?Time時間操作函數講解

    在日常開發(fā)中,我們避免不了時間的使用,我們可能需要獲取當前時間,然后格式化保存,也可能需要在時間類型與字符串類型之間相互轉換等。本文將會對?Go?time?包里面的常用函數和方法進行介紹,需要的可以參考一下
    2023-01-01
  • Go中map數據類型的實現

    Go中map數據類型的實現

    本文介紹了Go語言中的map數據類型,用于高效地存儲和管理鍵值對,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-12-12
  • Golang編譯器介紹

    Golang編譯器介紹

    今天小編就為大家分享一篇關于go語言編譯器的介紹,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-09-09
  • 談論Go 什么時候會觸發(fā) GC問題

    談論Go 什么時候會觸發(fā) GC問題

    Go 語言作為一門新語言,在早期經常遭到唾棄的就是在垃圾回收(下稱:GC)機制中 STW(Stop-The-World)的時間過長。下面文章就對此話題展開,感興趣的小伙伴可以參考下面文章的內容
    2021-09-09

最新評論