Suche…
Stringer
Die fmt.Stringer
Schnittstelle erfordert eine einzige Methode, String() string
, um erfüllt zu werden. Die String-Methode definiert das "native" String-Format für diesen Wert und ist die Standarddarstellung, wenn der Wert für eine der Formatierungs- oder Druckroutinen des fmt
Pakets bereitgestellt wird.
package main
import (
"fmt"
)
type User struct {
Name string
Email string
}
// String satisfies the fmt.Stringer interface for the User type
func (u User) String() string {
return fmt.Sprintf("%s <%s>", u.Name, u.Email)
}
func main() {
u := User{
Name: "John Doe",
Email: "[email protected]",
}
fmt.Println(u)
// output: John Doe <[email protected]>
}
Basic Fmt
Paket fmt Geräte formatiert I / O mit Format Verben:
%v // the value in a default format
%T // a Go-syntax representation of the type of the value
%s // the uninterpreted bytes of the string or slice
Formatierungsfunktionen
Es gibt 4 Hauptfunktionstypen in fmt
und verschiedene Varianten.
fmt.Print("Hello World") // prints: Hello World
fmt.Println("Hello World") // prints: Hello World\n
fmt.Printf("Hello %s", "World") // prints: Hello World
Sprint
formattedString := fmt.Sprintf("%v %s", 2, "words") // returns string "2 words"
Fprint
byteCount, err := fmt.Fprint(w, "Hello World") // writes to io.Writer w
Fprint
kann innerhalb von http
Fprint
verwendet werden:
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello %s!", "Browser")
} // Writes: "Hello Browser!" onto http response
Scan
Scan scannt Text, der von der Standardeingabe gelesen wurde.
var s string
fmt.Scanln(&s) // pass pointer to buffer
// Scanln is similar to fmt.Scan(), but it stops scanning at new line.
fmt.Println(s) // whatever was inputted
Stringer-Schnittstelle
Jeder Wert, der über eine String()
Methode verfügt, implementiert den fmt
inteface- Stringer
type Stringer interface {
String() string
}
Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow