这构建 well.why 这段代码不执行吗?
This builds well.why doesn't this code execute?
我正在尝试使用 go 制作网络抓取工具。我构建了这段代码。它构建良好,没有任何错误。但是它的二进制文件不会执行。
这是例程数量多的问题还是execute函数中那些变量的问题?
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)
}
}
也许你的错误来自于此:
string(count)
会编译但是结果是空的。如果你想将 int 转换为字符串,你将需要 strconv 包。
strconv.Itoa(count)
或者
strconv.FormatInt(int64(count), 10)
我正在尝试使用 go 制作网络抓取工具。我构建了这段代码。它构建良好,没有任何错误。但是它的二进制文件不会执行。
这是例程数量多的问题还是execute函数中那些变量的问题?
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)
}
}
也许你的错误来自于此:
string(count)
会编译但是结果是空的。如果你想将 int 转换为字符串,你将需要 strconv 包。
strconv.Itoa(count)
或者
strconv.FormatInt(int64(count), 10)