业务里最常见的事故不是「请求失败」,而是「请求一直挂着」。建议默认带超时,并把 context 贯穿到底。 go package httpx import ( "context" "net" "net/http" "time" ) type Client struct { httpClient http.Client