Overview
os.Rename() function can be used to rename a file or folder. Below is the signature of the function.
func Rename(old, new string) error
old and new can be fully qualified as well. If the old and new path doesn’t lie in the same directory then os.Rename() function behaves the same as moving a file or folder.
Code
Renaming a file
Below is code for renaming a file
package main
import (
"log"
"os"
)
func main() {
//Create a file
file, err := os.Create("temp.txt")
if err != nil {
log.Fatal(err)
}
defer file.Close()
//Change permission so that it can be moved
err = os.Chmod("temp.txt", 0777)
if err != nil {
log.Println(err)
}
err = os.Rename("temp.txt", "newTemp.txt")
if err != nil {
log.Fatal(err)
}
}
Output
First, it will create a file named temp.txt in the current working directory. Then it will rename it to newTemp.txt
Renaming a folder
Below is code for renaming a folder
package main
import (
"log"
"os"
)
func main() {
//Create a directory
err := os.Mkdir("temp", 0755)
if err != nil {
log.Fatal(err)
}
err = os.Rename("temp", "newTemp")
if err != nil {
log.Fatal(err)
}
}
Output:
First it will create a folder named temp in current working directory. Then it will rename it to newTemp