
1 ym1ng 2020-06-10 17:41:59 +08:00 作业请自己做(手动狗头 |
2 fiypig 2020-06-10 17:46:07 +08:00 面试题吗 |
3 morty961 2020-06-10 17:47:01 +08:00 via Android 这个面试题我也做过。变量名都一样,不会是同一家公司吧 |
4 dallaslu 2020-06-10 18:02:09 +08:00 话说这个题的 point 在协程吗? |
5 sadfQED2 2020-06-10 18:56:57 +08:00 via Android 每个 url 都开一个 go 程请求下,请求结束添加到管道,管道够 200 个就返回,是这个意思吗? |
7 blackeeper 2020-06-11 00:10:04 +08:00 伪代码,golang 初学者,请大神检阅 ``` #urls 放入通道 go func() {ch <- urls;ch.Close()}() #五个 goroutine,并发 for i=0;1<5;i++ { go func() { for url := range ch { #消费通道 r,err := httpGet(url,timeout=3) if err != nil || err == TimeoutError { log.err("请求失败:%s"url) break } #存储返回 200 的结果 if r.StatusCode == 200 { ts := r.time.Duration results[url] = ts } } }() } #最快相应 200 的 URL sortTime(results) ``` |
8 blackeeper 2020-06-11 00:15:30 +08:00  |
9 xkeyideal 2020-06-11 09:31:51 +08:00 作业不会做,给钱,我给你完整可运行的实现方案 |