在Go語言中實現跨域資源共享(CORS),可以通過使用net/http
包中的Handler
接口和http.HandlerFunc
類型來處理HTTP請求。
以下是一個簡單的示例代碼,實現了一個帶有CORS支持的HTTP服務器:
package main
import (
"net/http"
)
func main() {
// 創建一個HTTP處理函數
handler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
// 設置響應頭,允許所有來源的請求
w.Header().Set("Access-Control-Allow-Origin", "*")
// 處理請求
w.Write([]byte("Hello, CORS!"))
})
// 創建一個HTTP服務器
server := &http.Server{
Addr: ":8080",
Handler: handler,
}
// 啟動服務器
server.ListenAndServe()
}
在上面的示例中,我們創建了一個HTTP處理函數,并設置了Access-Control-Allow-Origin
響應頭,以允許所有來源的請求。最后,我們創建了一個HTTP服務器,并將處理函數傳遞給它。
通過這種方式,我們就可以實現一個支持CORS的HTTP服務器。當客戶端發送跨域請求時,服務器會在響應頭中包含適當的CORS頭信息,以允許跨域請求的成功完成。