背景
最近接手了一个老项目进行维护,发现其中有个关于 http
请求的方法设置的 timeout
没有生效,很奇怪!
一开始查看代码并没有发现什么可疑点,后查看了源码,打断点调试才发现问题所在,这里简单记录复盘一下。
说明:本篇的源码的 go
版本是 1.20.2
。
问题
示例代码
package main
import (
"context"
"fmt"
"net/http"
"time"
)
func main() {
req, err := http.NewRequest(http.MethodGet, "https://www.baidu.com", nil)
if err != nil {