Heim > Artikel > Backend-Entwicklung > Entdecken Sie die Unterschiede zwischen verschiedenen Funktionen im Golang-FMT-Paket
Das Golang-FMT-Paket ist eine Standardbibliothek, die häufig in der Go-Sprache verwendet wird. Es bietet verschiedene Mechanismen zur Formatierung der Eingabe und Ausgabe. Im fmt-Paket gibt es viele verschiedene Funktionen, die unterschiedliche Aufgaben erfüllen. In diesem Artikel werden die Unterschiede zwischen den verschiedenen Funktionen im fmt-Paket untersucht.
1. Der Unterschied zwischen Println und Printf
Println und Printf sind beide Funktionen, die Inhalte ausgeben, es gibt jedoch einige grundlegende Unterschiede zwischen ihnen.
Println gibt eine Reihe von Werten in einem angegebenen Format an die Standardausgabe aus. Die Funktionssignatur von Println lautet:
func Println(a ...interface{}) (n int, err error)
wobei ein...interface{} eine beliebige Anzahl von Daten beliebiger Art darstellt. Es gibt keine zusätzliche Formatierung, wenn Println zur Ausgabe verwendet wird, wie zum Beispiel:
fmt.Println("Hello", "World!", 1, 2, 3) //输出:Hello World! 1 2 3
Printf gibt die formatierte Zeichenfolge auf der Standardausgabe aus. Die Funktionssignatur von Printf lautet:
func Printf(format string, a ...interface{}) (n int, err error)
wobei format das Ausgabeformat ist und a...interface{} eine beliebige Anzahl von Daten eines beliebigen Typs darstellt. Printf formatiert und verkettet die formatierte Zeichenfolge und die auszugebenden Daten. Wie unten gezeigt:
fmt.Printf("My name is %s, and I am %d years old\n", "Jack", 25) //输出:My name is Jack, and I am 25 years old
2. Der Unterschied zwischen Sprintf und Fprintf
Sprintf und Fprintf sind ebenfalls formatierte Ausgabefunktionen, es gibt jedoch einige Unterschiede zwischen ihnen.
Sprintf formatiert die formatierte Zeichenfolge in eine Zeichenfolgenvariable. Die Funktionssignatur von Sprintf lautet:
func Sprintf(format string, a ...interface{}) string
wobei format das Ausgabeformat ist und ein...interface{} eine beliebige Anzahl von Daten eines beliebigen Typs darstellt. Sprintf formatiert und verkettet die formatierte Zeichenfolge und die auszugebenden Daten und gibt das Ergebnis in eine Zeichenfolge zurück. Wie unten gezeigt:
s := fmt.Sprintf("My name is %s, and I am %d years old\n", "Jack", 25) fmt.Println(s) //输出:My name is Jack, and I am 25 years old
Fprintf formatiert die formatierte Zeichenfolge in eine Datei. Die Funktionssignatur von Fprintf lautet:
func Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error)
Unter diesen stellt w io.Writer den Zielort der Ausgabe dar, format ist das Ausgabeformat und a...interface{} repräsentiert eine beliebige Anzahl von Daten beliebiger Art. Fprintf formatiert und verkettet die formatierte Zeichenfolge und die auszugebenden Daten und gibt das Ergebnis in die angegebene Datei aus. Wie unten gezeigt:
f, err := os.Create("output.txt") if err != nil { return err } fmt.Fprintf(f, "My name is %s, and I am %d years old\n", "Jack", 25)
3. Zusammenfassung
Die oben genannten vier Funktionen sind alle häufig verwendete Funktionen im Golang-FMT-Paket, es gibt jedoch bestimmte Unterschiede zwischen ihnen. Println und Printf sind beide Funktionen, die Inhalte ausgeben. Println gibt Inhalte direkt aus, während Printf Zeichenfolgen und Daten vor der Ausgabe formatieren muss. Sprintf und Fprintf sind beide formatierte Ausgabefunktionen. Sprintf gibt die formatierte Zeichenfolge in eine Zeichenfolgenvariable aus, während Fprintf die formatierte Zeichenfolge in die angegebene Datei ausgibt. Die Beherrschung der oben genannten Inhalte kann uns helfen, diese Funktionen besser für die tägliche Entwicklungsarbeit zu nutzen.
Das obige ist der detaillierte Inhalt vonEntdecken Sie die Unterschiede zwischen verschiedenen Funktionen im Golang-FMT-Paket. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!