{"id":126498,"date":"2020-05-14T15:16:33","date_gmt":"2020-05-14T07:16:33","guid":{"rendered":"http:\/\/4563.org\/?p=126498"},"modified":"2020-05-14T15:16:33","modified_gmt":"2020-05-14T07:16:33","slug":"%e8%af%b7%e7%94%a8-go-%e8%af%ad%e8%a8%80%e5%ae%9e%e7%8e%b0","status":"publish","type":"post","link":"http:\/\/4563.org\/?p=126498","title":{"rendered":"\u8bf7\u7528 go \u8bed\u8a00\u5b9e\u73b0"},"content":{"rendered":"<div>\n<div>\n<div>\n<h1>                  \u8bf7\u7528 go \u8bed\u8a00\u5b9e\u73b0               <\/h1>\n<p> <\/p>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : accidentaly <\/span>  <span><i><\/i> 13<\/span> <\/div>\n<div> <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div isfirst=\"1\">                        &#8211; \u5b9e\u73b0\u65b9\u6cd5\uff1aFindFatestUrl(ctx context.Context\uff0curls []string)(url string,ts time.Duration)<br \/> &#8211; \u627e\u51fa\u6700\u5feb\u54cd\u5e94 200 \u7684 url \u53ca\u5176\u54cd\u5e94\u65f6\u95f4<br \/> &#8211; \u5e76\u53d1\u8bf7\u6c42 url\uff0c\u4f46\u540c\u4e00\u65f6\u523b\u6700\u591a\u5e76\u53d1\u8bf7\u6c42 5 \u4e2a url<br \/> &#8211; \u8bf7\u6c42\u53d1\u9001 3 \u79d2\u540e\u82e5\u672a\u8fd4\u56de\u5219\u8d85\u65f6\uff0c\u89c6\u4e3a\u8bf7\u6c42\u5931\u8d25<br \/> &#8211; \u4ec5\u4f7f\u7528 Go \u6807\u51c6\u5e93\uff0c\u53ef\u4f7f\u7528\u4f2a\u4ee3\u7801\u8868\u793a\u53d1\u9001 http \u8bf7\u6c42      <\/div>\n<div> <b>\u5927\u4f6c\u6709\u8a71\u8aaa<\/b> (<span>9<\/span>)        <\/div>\n<div> <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<ul>\n<li data-pid=\"2017987\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : ym1ng <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u4f5c\u4e1a\u8bf7\u81ea\u5df1\u505a\uff08\u624b\u52a8\u72d7\u5934                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"2017988\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : fiypig <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u9762\u8bd5\u9898\u5417                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"2017989\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : morty961 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u8fd9\u4e2a\u9762\u8bd5\u9898\u6211\u4e5f\u505a\u8fc7\u3002\u53d8\u91cf\u540d\u90fd\u4e00\u6837\uff0c\u4e0d\u4f1a\u662f\u540c\u4e00\u5bb6\u516c\u53f8\u5427                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"2017990\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : dallaslu <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u8bdd\u8bf4\u8fd9\u4e2a\u9898\u7684 point \u5728\u534f\u7a0b\u5417\uff1f                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"2017991\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : sadfQED2 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u6bcf\u4e2a url \u90fd\u5f00\u4e00\u4e2a go \u7a0b\u8bf7\u6c42\u4e0b\uff0c\u8bf7\u6c42\u7ed3\u675f\u6dfb\u52a0\u5230\u7ba1\u9053\uff0c\u7ba1\u9053\u591f 200 \u4e2a\u5c31\u8fd4\u56de\uff0c\u662f\u8fd9\u4e2a\u610f\u601d\u5417\uff1f                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"2017992\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : WhatC <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @sadfQED2 200 \u662f http \u7684 200 \u5427                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"2017993\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : blackeeper <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u4f2a\u4ee3\u7801\uff0cgolang \u521d\u5b66\u8005\uff0c\u8bf7\u5927\u795e\u68c0\u9605<br \/>&#8220;`<br \/>#urls \u653e\u5165\u901a\u9053<br \/>go func() {ch &lt;- urls;ch.Close()}()<br \/>#\u4e94\u4e2a goroutine\uff0c\u5e76\u53d1<br \/>for i=0;1&lt;5;i++ {<br \/> go func() {<br \/> for url := range ch {<br \/> #\u6d88\u8d39\u901a\u9053<br \/> r,err := httpGet(url,timeout=3)<br \/> if err != nil || err == TimeoutError {<br \/> log.err(&#8220;\u8bf7\u6c42\u5931\u8d25\uff1a%s&#8221;url)<br \/> break<br \/> }<br \/> #\u5b58\u50a8\u8fd4\u56de 200 \u7684\u7ed3\u679c<br \/> if r.StatusCode == 200 {<br \/> ts := r.time.Duration<br \/> results[url] = ts<br \/> }<\/p>\n<p> }<br \/> }()<br \/>}<br \/>#\u6700\u5feb\u76f8\u5e94 200 \u7684 URL<br \/>sortTime(results)<br \/>&#8220;`                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"2017994\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : blackeeper <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             ![\u4f2a\u4ee3\u7801]( https:\/\/imgchr.com\/i\/t7sPoV)                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"2017995\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : xkeyideal <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u4f5c\u4e1a\u4e0d\u4f1a\u505a\uff0c\u7ed9\u94b1\uff0c\u6211\u7ed9\u4f60\u5b8c\u6574\u53ef\u8fd0\u884c\u7684\u5b9e\u73b0\u65b9\u6848                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li>\n","protected":false},"excerpt":{"rendered":"<p>\u8bf7\u7528 go \u8bed\u8a00\u5b9e\u73b0 \u8cc7\u6df1\u5927\u4f6c :&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[],"tags":[],"_links":{"self":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts\/126498"}],"collection":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=126498"}],"version-history":[{"count":0,"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts\/126498\/revisions"}],"wp:attachment":[{"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=126498"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=126498"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=126498"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}