Fanout 让编写平行代码更加容易开源项目

我要开发同款
匿名用户2015年07月24日
9阅读
所属分类Google Go、程序开发、常用工具包
授权协议Apache-2.0

作品详情

Fanout可以让编写平行代码更加容易。Fanout的代码是可以重复使用的,所以你可以很容易地就写下平行代码,而不用担心fatalerror:allgoroutinesareasleep-deadlock!

示例代码:

for _, word := range domainWords {    if strings.TrimSpace(word) == "" {        continue    }    py := pinyin.Convert(word)    pydowncase := strings.ToLower(py)    domain := pydowncase + ".com"    outr, err := domainAvailable(word, domain)    if err != nil {        fmt.Println("Error: ", err)        continue    }    if outr.available {        fmt.Printf("[Ohh Yeah] %s %s\n", outr.word, outr.domain)        continue    }    fmt.Printf("\t\t\t %s %s %s\n", outr.word, outr.domain, outr.summary)}type checkResult struct {    word      string    domain    string    available bool    summary   string}func domainAvailable(word string, domain string) (ch checkResult, err error) {    var summary string    var output []byte    ch.word = word    ch.domain = domain    cmd := exec.Command("whois", domain)    output, err = cmd.Output()    if err != nil {        fmt.Println(err)        return    }    outputstring := string(output)    if strings.Contains(outputstring, "No match for \"") {        ch.available = true        return    }    summary = firstLineOf(outputstring, "Registrant Name") + " => "    summary = summary + firstLineOf(outputstring, "Expiration Date")    ch.summary = summary    return}
查看全文
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论