Golang : Copy file

Here’s an example to copy a file named “input.txt” to another file named “output.txt”.

Copying files can be done in several ways in Go. The example below is the easiest :

 package main

 import (

 func main () {
 // open files r and w
 r, err := os.Open("input.txt")
 if err != nil {
 defer r.Close()

 w, err := os.Create("output.txt")
 if err != nil {
 defer w.Close()

 // do the actual work
 n, err := io.Copy(w, r)
 if err != nil {

 fmt.Printf("Copied %v bytes\n", n)

With the file input.txt in the same directory,

execute >go run copyfile.go and output will something similar to this

Copied 561 bytes

By Adam Ng

IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.