GO lernen: - Dateiverwaltung, Fehlerbehandlung

Mary-Kate Olsen
Freigeben: 2024-10-15 12:06:41
Original
964 Leute haben es durchsucht

Learning GO : - File Handling, Error Handling

Hey! Ich lerne gerade Go Lang und mache mir einige grundlegende Notizen zu meinem Konzept, die ich aber auch einfach hier veröffentlichen würde. Sie sind nicht gut durchdacht oder gut geschrieben, aber ich mache mir nur von Zeit zu Zeit Notizen als Referenz.

Ich besuche den Udemy-Kurs von Maximilian Schwarzmüller,


Notizen

Schreiben in Dateien

  • Das Betriebssystempaket stellt eine Funktion namens WriteFile bereit, die den Namen des Pakets, die in der Datei zu speichernden Daten und den Dateimodus übernimmt, bei dem es sich um die Dateiänderungsberechtigungen handelt.
func writeBalanceFiles(balance float64) {
    balanceText := fmt.Sprint(balance)
    os.WriteFile("balance.txt", []byte(balanceText), 0644)
}
Nach dem Login kopieren

Aus einer Datei lesen

  • Manchmal, wenn wir zwei Rückgabewerte von einer Funktion erhalten, können wir dann einen speziellen Variablennamen verwenden, was bedeutet, dass wir den Wert erhalten, ihn aber nicht verwenden möchten.
data, _ := os.ReadFile("balance.txt")
Nach dem Login kopieren
  • Hier werden die Daten vom Byte-Typ geliefert. Um das zu handhaben, können wir diese Daten nur in einen String konvertieren
  • Wir benötigen die Datenzeichenfolge in Gleitkommazahl, daher können wir das Paket strconv verwenden, das uns verschiedene Methoden zur Verarbeitung von Zeichenfolgenoperationen bietet
  • Wir können die ParseFloat-Methode verwenden, die die Zeichenfolge in eine Gleitkommazahl umwandelt. Dazu müssen wir den Zeichenfolgenwert und die Bitgröße angeben, die 32 oder 64 sein wird
func readFile() float64 {
    data, _ := os.ReadFile("balance.txt")
    balanceText := string(data)
    balance, _ := strconv.ParseFloat(balanceText, 64)
    return balance
}
Nach dem Login kopieren
  • Bytewerte können nicht direkt in einen anderen Typ als String konvertiert werden, und Stringwerte können nicht direkt in einen anderen Typ konvertiert werden, was die Verwendung des Pakets strconv erfordert

Fehlerbehandlung

  • In GO gibt es einen speziellen Fehlertyp, mit dem benutzerdefinierte Fehler ausgegeben werden können, die aus dem integrierten Fehlerpaket stammen
  • In GO können wir Null verwenden, um den Nullwert zu überprüfen
  • Fast alle Pakete liefern einen Fehler als Rückgabewert mit einem Hauptwert. Wir verwenden den Fehler, um zu prüfen, ob ein Nullwert vorliegt
  • Wenn der Fehler also nicht Null ist, bedeutet das, dass ein Fehler vorliegt. In diesem Fall können wir eine Fehlerantwort ausgeben
    if err != nil {
        return 1000, errors.New("failed to find balance file")
    }

Nach dem Login kopieren
    var accountBalance, err = readFile()

    if err != nil {
        fmt.Println("ERROR")
        fmt.Println(err)
        fmt.Println("===============")
    }
Nach dem Login kopieren

Panik!

  • Es gibt eine eingebaute Methode namens panic(), die die Programmausführung stoppt und einen speziellen Fehler ausgibt
    if err != nil {
        fmt.Println("ERROR")
        fmt.Println(err)
        fmt.Println("===============")
        panic("Can't Continue Sorry!")
    } 
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonGO lernen: - Dateiverwaltung, Fehlerbehandlung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!