<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Fanout讓編寫平行代碼更加容易

          聯(lián)合創(chuàng)作 · 2023-09-28 13:55

          Fanout 可以讓編寫平行代碼更加容易。Fanout 的代碼是可以重復(fù)使用的,所以你可以很容易地就寫下平行代碼,而不用擔(dān)心 fatal error: all goroutines are asleep - 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
          }
          瀏覽 13
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  狂野欧美大鸡巴操逼 | 天天干天天插天天 | 五月天成人导航 | 18禁成人黄官网 | 欧美毛片大片在线关看 |