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