第1章 入门
1.5 获取Url
1.编写代码
Go语言提供了net 包以及其它包,以便我们可以用来构建我们访问网络资源的程序,我们来看一个例子
package main
import (
"fmt"
"io/ioutil"
"net/http"
"os"
)
func main() {
for _,url := range os.Args[1:]{
resp,err:=http.Get(url)
if err!=nil{
fmt.Fprintf(os.Stderr,"fetch:%v\n",err)
os.Exit(1)
}
b,err:=ioutil.ReadAll(resp.Body)
resp.Body.Close()
if err!=nil{
fmt.Fprintf(os.Stderr,"fetch: reading %s:%v\n",url,err)
os.Exit(1)
}
fmt.Printf("%s",b)
}
}
2.分析代码
我们遍历了os包下面的slice Args来获得索要访问得网址,并且用Get函数进行访问,如果访问成功的话,就将网址的源文本使用ioutil包下的ReadAll函数打印出,访问和打印过程中遇到的错误都用io包下的标准错误进行处理,resp.Body.Close()主要是为了防止资源泄漏及时关闭信息
1.6 并发获取多个url
Go语言一个非常优秀的特性就是对并发的支持,我们来看一个例子:
1.编写代码