- few general ways you can create files and directories in code.
Create the create.go file with the following content:#
package main
import (
"os"
)
func main() {
f, err := os.Create("created.file")
if err != nil {
panic(err)
}
f.Close()
f, err = os.OpenFile("created.byopen", os.O_CREATE|os.O_APPEND,
os.ModePerm)
if err != nil {
panic(err)
}
f.Close()
err = os.Mkdir("createdDir", 0777)
if err != nil {
panic(err)
}
err = os.MkdirAll("sampleDir/path1/path2", 0777)
if err != nil {
panic(err)
}
}
output:
sangam:golang-daily sangam$ create.go
sangam:golang-daily sangam$ tree
.
āāā binary
āāā config.json
āāā content.dat
āāā created.byopen
āāā created.file
āāā createdDir
āāā data.csv
āāā data.xml
āāā data.zip
āāā example.txt
āāā flatfile.txt
āāā main.go
āāā sample.file
āāā sample.txt
āāā sampleDir
āĀ Ā āāā path1
āĀ Ā āāā path2
How it works...#
-
The previous example represents four ways you can create a file or directory. The os.Create function is the simplest way to create the file. By using this function, you will create the file with permissions such as 0666.
-
If you need to create the file with any other configuration of permissions, then the OpenFile function of the os package is the one to be used.
-
The directories can be created by using the Mkdir function of the os package. This way, a directory with given permissions is created. The second option is to use the MkdirAll function. This function also creates the directory, but if the given path contains non-exiting directories, then all directories in the path are created (it works the same as the -p option of Unix's mkdir utility).