Erstellen Sie ein neues Verzeichnis in Go

Musfirah Waseem 20 Juni 2023
  1. Berechtigungsmodi von os.Mkdir und os.MkdirAll
  2. Verwenden Sie die os.Mkdir()-Methode in Go
  3. Verwenden Sie die Methode os.MkdirAll() in Go
Erstellen Sie ein neues Verzeichnis in Go

Go hat viele Methoden, um Verzeichnisse zu erstellen, eine davon ist os.Mkdir. Wir können dem neu gebildeten Verzeichnis den angegebenen Namen und die Berechtigungsbits zuweisen.

Das os.MkdirAll hilft, mehrere Verzeichnisse rekursiv zu erstellen, einschließlich fehlender Eltern.

Berechtigungsmodi von os.Mkdir und os.MkdirAll

Notation Oktale ganze Zahl Funktionalität
rwx 7 Lesen, schreiben und ausführen
rw- 6 Lesen Schreiben
r-x 5 Lesen und ausführen
r-- 4 Lesen
-wx 3 Schreiben und ausführen
-w- 2 Schreiben
--x 1 Ausführen
--- 0 Keine Berechtigungen

Benutzerzugriff

Erlaubnis Oktal Feld
rwx------ 0700 Benutzer
---rwx--- 0070 Gruppe
------rwx 0007 Andere

Gemeinsame Berechtigungen

  1. 0664: Nur der Besitzer kann die Datei lesen und schreiben. Während andere Benutzer die Datei nur lesen können.
  2. 0600: Nur der Eigentümer kann in die Datei lesen und schreiben, und niemand sonst kann darauf zugreifen.
  3. 0777: Alle Benutzer haben vollen Zugriff auf die Datei.
  4. 0755: Nur der Besitzer hat vollen Zugriff, während andere Benutzer die Datei nur ansehen und ausführen können.
  5. 0666: Lese- und Schreibzugriff für alle Dateibenutzer.
  6. 0750: Der Besitzer der Datei kann sie lesen, schreiben und ausführen, aber die Benutzer können sie nur lesen und ausführen.

Verwenden Sie die os.Mkdir()-Methode in 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.")

}

Ausgang:

The directory has been created successfully.

Mit dem obigen Code können wir ein neues Verzeichnis erstellen. Wenn beim Erstellen des neuen Verzeichnisses ein Fehler auftreten würde, wäre dieser vom Typ PathError.

Die Funktion os.Mkdir erstellt nur ein einzelnes Verzeichnis. Mit dieser Funktion können wir Unterverzeichnisse erstellen.

Verwenden Sie die Methode os.MkdirAll() in 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.")
}

Ausgang:

The directory has been created successfully.

Es ist hilfreich, eine Funktion zum Erstellen mehrerer Verzeichnisse mit einem einzigen Befehl zu erstellen. Die fehlenden übergeordneten Verzeichnisse werden automatisch erstellt, wodurch die Redundanz des Schreibens von Code zum Erstellen neuer Verzeichnisse vermieden wird.

Musfirah Waseem avatar Musfirah Waseem avatar

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