基本的 fmt
包 fmt 使用格式动词实现格式化的 I / O :
%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
格式化函数
fmt
中有 4 种主要功能类型,其中有几种变体。
打印
fmt.Print("Hello World") // prints: Hello World
fmt.Println("Hello World") // prints: Hello World\n
fmt.Printf("Hello %s", "World") // prints: Hello World
短跑
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
可以在 http
处理程序中使用:
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello %s!", "Browser")
} // Writes: "Hello Browser!" onto http response
扫描
扫描扫描从标准输入读取的文本。
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 接口
任何具有 String()
方法的值都实现了 fmt
接口 Stringer
type Stringer interface {
String() string
}