Go语言标准包之用io包模拟curl

简介: 最后一个书上的标准包,但真正学习的路才开始。。。 package main import ( "bytes" "fmt" "os" "io" "log" "net/http" ) func main() { var b bytes.

最后一个书上的标准包,但真正学习的路才开始。。。

package main

import (
	"bytes"
	"fmt"
	"os"
	"io"
	"log"
	"net/http"
)

	
func main() {
	var b bytes.Buffer
	b.Write([]byte("Hello "))
	
	fmt.Fprintf(&b, "World")
	
	b.WriteTo(os.Stdout)
	
	resp, err := http.Get(os.Args[1])
	if err != nil {
		log.Fatalln(err)
	}
	
	file, err := os.Create(os.Args[2])
	if err != nil {
		log.Fatalln(err)
	}
	defer file.Close()
	
	dest := io.MultiWriter(os.Stdout, file)
	
	io.Copy(dest, resp.Body)
	if err := resp.Body.Close(); err != nil {
		log.Println(err)
	}
}

  

目录
相关文章
|
3月前
|
固态存储 测试技术 Go
Go语言 os包 不可不知的性能排行榜
Go语言 os包 不可不知的性能排行榜
57 0
|
3月前
|
Go
高效Go语言编程:os包实用技术大揭示
高效Go语言编程:os包实用技术大揭示
44 0
|
3月前
|
安全 Go
时间旅行者的工具箱:Go语言time包解读
时间旅行者的工具箱:Go语言time包解读
35 0
|
3月前
|
关系型数据库 MySQL Go
工厂模式+自动注册管理Go多包结构体
工厂模式+自动注册管理Go多包结构体
45 1
|
4月前
|
中间件 Go 开发者
Go net http包
Go net http包
38 0
|
4月前
|
Go
Go string bytes、strings、strconv和unicode包相关方法
Go string bytes、strings、strconv和unicode包相关方法
26 0
|
4月前
|
Go
go fmt包格式化
go fmt包格式化
31 0
|
3天前
|
编译器 Go 开发者
Go语言入门|包、关键字和标识符
Go语言入门|包、关键字和标识符
22 0
|
2月前
|
Go C语言
安装go-sqlite3包时报exec: "gcc": executable file not found in %PATH%解决办法
安装go-sqlite3包时报exec: "gcc": executable file not found in %PATH%解决办法
|
3月前
|
Go
Go命令行解析神器入门 - 10分钟上手flag包
Go命令行解析神器入门 - 10分钟上手flag包
41 0