Crear un nuevo directorio en Go
-
Modos de permiso de
os.Mkdir
yos.MkdirAll
-
Utilice el método
os.Mkdir()
en Go -
Utilice el método
os.MkdirAll()
en Go
Go tiene muchos métodos para crear directorios, uno de los cuales es os.Mkdir
. Podemos asignar el nombre especificado y los bits de permiso al directorio recién formado.
El os.MkdirAll
ayuda a crear varios directorios de forma recursiva, incluidos los padres que faltan.
Modos de permiso de os.Mkdir
y os.MkdirAll
Notación | Entero octal | Funcionalidad |
---|---|---|
rwx |
7 |
Leer, escribir y ejecutar |
rw- |
6 |
Leer escribir |
r-x |
5 |
Leer y ejecutar |
r-- |
4 |
Leer |
-wx |
3 |
Escribir y ejecutar |
-w- |
2 |
Escribir |
--x |
1 |
Ejecutar |
--- |
0 |
no permisos |
Acceso Usuarios
Permiso | octales | Campo |
---|---|---|
rwx------ |
0700 |
Usuario |
---rwx--- |
0070 |
Grupo |
------rwx |
0007 |
Otro |
Permisos comunes
0664
: solo el propietario puede leer y escribir en el archivo. Mientras que otros usuarios solo pueden leer el archivo.0600
: solo el propietario puede leer y escribir en el archivo, y nadie más puede acceder a él.0777
: Todos los usuarios tienen pleno acceso al archivo.0755
: solo el propietario tiene acceso completo, mientras que otros usuarios solo pueden ver y ejecutar el archivo.0666
: acceso de lectura y escritura a todos los usuarios del archivo.0750
: El propietario del archivo puede leerlo, escribirlo y ejecutarlo, pero los usuarios solo pueden leerlo y ejecutarlo.
Utilice el método os.Mkdir()
en Go
package main
import (
"log"
"os"
"fmt"
)
func main() {
error := os.Mkdir("HomeDir", 0750)
if error != nil && !os.IsExist(error) {
log.Fatal(error)
}
fmt.Print("The directory has been created successfully.")
}
Producción :
The directory has been created successfully.
El código anterior nos permite crear un nuevo directorio. Si hubiera algún error al crear el nuevo directorio, sería del tipo PathError
.
La función os.Mkdir
solo crea un único directorio. Podemos crear subdirectorios usando esta función.
Utilice el método os.MkdirAll()
en Go
package main
import (
"log"
"os"
"fmt"
)
func main() {
DirPath := "Desktop/Documents/MyDirectory"
err := os.MkdirAll(DirPath, os.ModePerm)
if err != nil {
log.Println(err)
}
fmt.Print("The directory has been created successfully.")
}
Producción :
The directory has been created successfully.
Es útil crear una función para crear múltiples directorios usando un solo comando. Los directorios principales que faltan se crean automáticamente, lo que evita la redundancia de escribir código para crear nuevos directorios.
Musfirah is a student of computer science from the best university in Pakistan. She has a knack for programming and everything related. She is a tech geek who loves to help people as much as possible.
LinkedIn