Zoeken…
Stringer
De interface fmt.Stringer
vereist dat aan een enkele methode, String() string
wordt voldaan. De tekenreeksmethode definieert de "native" tekenreeksindeling voor die waarde en is de standaardweergave als de waarde wordt opgegeven voor een van de fmt
pakketten voor het formatteren of afdrukken van routines.
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
Pakket fmt implementeert geformatteerde I / O met behulp van opmaakwerkwoorden :
%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
Formaatfuncties
Er zijn 4 hoofdfunctietypen in fmt
en verschillende variaties daarin.
Afdrukken
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
kan worden gebruikt in http
handlers:
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello %s!", "Browser")
} // Writes: "Hello Browser!" onto http response
Scannen
Scannen scant tekst gelezen van standaardinvoer.
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-interface
Elke waarde die een String()
-methode heeft, implementeert de fmt
inteface Stringer
type Stringer interface {
String() string
}
Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow