Memahami ServeHTTP: Bagaimana Kod Ini Berfungsi?
Dalam Go, melaksanakan kaedah ServeHTTP untuk jenis tersuai menjadikan jenis itu serasi dengan Antara muka pengendali, bahagian penting dalam mencipta pengendali HTTP. Ini membolehkan jenis tersuai untuk mengendalikan permintaan HTTP masuk.
Mari terokai kod yang dimaksudkan:
package main import ( "fmt" "net/http" ) type foo int func (m foo) ServeHTTP(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, "Some text") } func main() { var bar foo http.ListenAndServe(":8080", bar) }
Bagaimanakah ia berfungsi?
Bagaimanakah fungsi ServeHTTP diakses?
Fungsi ServeHTTP diakses melalui pelaksanaan antara muka Pengendali dalam jenis tersuai foo. Dengan melaksanakan ServeHTTP, foo menandakan kesediaannya untuk mengendalikan permintaan HTTP dan pakej HTTP mengiktirafnya sebagai pengendali yang sah.
HandlerFunc
Jenis HandlerFunc dan fungsi yang berkaitan dengannya sintaks ialah pembantu yang memudahkan untuk menentukan fungsi tanpa nama sebagai pengendali HTTP tanpa membuat jenis tersuai seperti dalam foo. Kaedah HandlerFunc ServeHTTP hanya menggunakan fungsi tanpa nama dengan hujah yang sesuai.
Pada dasarnya, kod tersebut menunjukkan cara melaksanakan kaedah ServeHTTP membenarkan jenis tersuai untuk mengendalikan permintaan HTTP, di mana pelayan yang bertanggungjawab untuk mendengar pada port rangkaian menghantar permintaan masuk kepada pengendali ini.
Atas ialah kandungan terperinci Bagaimanakah Kaedah `ServeHTTP` Go Mendayakan Pengendali HTTP Tersuai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!