mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-12 03:55:28 +08:00
30 lines
431 B
Go
30 lines
431 B
Go
// filecopy.go
|
|
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"io"
|
|
"os"
|
|
)
|
|
|
|
func main() {
|
|
CopyFile("target.txt", "source.txt")
|
|
fmt.Println("Copy done!")
|
|
}
|
|
|
|
func CopyFile(dstName, srcName string) (written int64, err error) {
|
|
src, err := os.Open(srcName)
|
|
if err != nil {
|
|
return
|
|
}
|
|
defer src.Close()
|
|
|
|
dst, err := os.OpenFile(dstName, os.O_WRONLY|os.O_CREATE, 0644)
|
|
if err != nil {
|
|
return
|
|
}
|
|
defer dst.Close()
|
|
|
|
return io.Copy(dst, src)
|
|
}
|