可以通过 io.Copy 函数来复制文件
package main
import (
	"io"
	"os"
)
func main() {
	dst, err := os.OpenFile("./dst.txt", os.O_RDWR|os.O_CREATE, 07777)
	if err == nil {
		reader, err := os.Open("./test.txt")
		if err == nil {
			res, err := io.Copy(dst, reader)
			if err == nil {
				println(res)
			} else {
				println(err.Error())
			}
		}
		reader.Close()
	}
	dst.Close()
}
1 目标文件句柄 ( 创建 + 读写模式 )
2 源文件句柄 ( 可读模式 )
package main
import (
	"io"
	"os"
)
func copy(dstFile string, src string) (bool, string) {
	// 打开源文件
	reader, err := os.Open(src)
	defer reader.Close()
	if err == nil {
		// 创建拷贝文件
		dst, errCopyOpen := os.OpenFile(dstFile, os.O_CREATE|os.O_RDWR, 0777)
		defer dst.Close()
		if errCopyOpen == nil {
			_, errCopy := io.Copy(dst, reader)
			if errCopy == nil {
				return true, ""
			} else {
				return false, errCopy.Error()
			}
		}
		return false, errCopyOpen.Error()
	}
	return false, err.Error()
}
func main() {
	res, err := copy("./d.log", "./test.txt")
	if res {
		println("复制成功")
	} else {
		println("复制失败 : ", err)
	}
}