这构建得很好。为什么这段代码不执行?

时间:2016-05-09 22:38:25

标签: go goroutine

我正在尝试使用go制作网络抓取工具。我构建了这段代码。它没有任何错误,建造得很好。但它的二进制文件不会执行。

这是执行函数中的大量例程或那些变量的问题吗?

package main

import (
    "io/ioutil"
    "net/http"
    //"regexp"
)

func excuter(count int) {

    adrr := string("http://torhit.com/torbite/?page=" + string(count))

    resp, _ := http.Get(adrr)
    bytes, _ := ioutil.ReadAll(resp.Body)

    ioutil.WriteFile("scrap.txt"+string(count), bytes, 0777)

    resp.Body.Close()
}
func main() {
    //re := regexp.MustCompile("")
    count := 1
    maxcount := 200
    for ; count <= maxcount; count++ {
        go excuter(count)

    }
}

    package main

import (
    "io/ioutil"
    "net/http"
    //"regexp"
)

func excuter(count int) {

    adrr := string("http://torhit.com/torbite/?page=" + string(count))

    resp, _ := http.Get(adrr)
    bytes, _ := ioutil.ReadAll(resp.Body)

    ioutil.WriteFile("scrap.txt"+string(count), bytes, 0777)

    resp.Body.Close()
}
func main() {
    //re := regexp.MustCompile("")
    count := 1
    maxcount := 200
    for ; count <= maxcount; count++ {
        go excuter(count)

    }
}

1 个答案:

答案 0 :(得分:3)

也许你的错误来自于此:

string(count)

它会编译但结果为空。如果要将int转换为string,则需要strconv包。

strconv.Itoa(count)

或者

strconv.FormatInt(int64(count), 10)