Sök…
Stringer
fmt.Stringer gränssnittet kräver en enda metod, String() string att vara nöjd. Strängmetoden definierar det "ursprungliga" strängeformatet för det värdet och är standardrepresentationen om värdet tillhandahålls till något av fmt paketens formaterings- eller utskriftsrutiner.
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]>
}
Grundläggande fmt
Paketet fmt implementerar formaterade I / O med hjälp av formatverb :
%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
Formatera funktioner
Det finns fyra huvudfunktionstyper i fmt och flera variationer inom.
Skriva ut
fmt.Print("Hello World") // prints: Hello World
fmt.Println("Hello World") // prints: Hello World\n
fmt.Printf("Hello %s", "World") // prints: Hello World
Sprinta
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 användas inom http hanterare:
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello %s!", "Browser")
} // Writes: "Hello Browser!" onto http response
Skanna
Skanning skannar text läst från standardinmatning.
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-gränssnitt
Alla värden som har en String() -metod implementerar fmt inteface Stringer
type Stringer interface {
String() string
}
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow