go文件拷贝
一、文件拷贝
二、从命令行读取参数
我们首先编译程序,然后执行test.exe时,放置三个参数,它们会被记录到os.Args切片中。
三、解析命令行选项:flag包
在flag包中有这个一个结构体
以下代码用于模拟Linux的echo命令
演示效果
四、用buffer读取文件
本示例结合 缓冲读取文件 和 flag解析命令行 两项技术。
模拟Linux的cat命令。
第一个参数不是一个文件,而是一个io.Writer接口类型的变量。
接口定义如下
fmt.Fprintf() 依据指定的格式向第一个参数内写入字符串,第一参数必须实现了 io.Writer 接口。
Fprintf() 能够写入任何类型,只要其实现了 Write 方法。
包括 os.Stdout, 文件(例如 os.File),管道,网络连接,通道等等。
同样的也可以使用 bufio 包中的缓冲写入。
bufio 包中定义了 type Writer struct{...}。
在缓冲写入的最后千万不要忘了使用 Flush(),否则最后的输出不会被写入。
使用fmt.Fprint函数向http.ResponseWriter写入,因为http.ResponseWriter实现了io.Writer接口。