fmt
https://golang.org/pkg/fmt/
Print: 輸出到控制台,不接受任何格式化操作
Println: 輸出到控制台並換行
Printf : 只可以列印出格式化的字符串。只可以直接輸出字符串類型的變量(不可以輸出別的類型)
Sprintf:格式化並返回一個字符串而不帶任何輸出
Fprintf:格式化並輸出到 io.Writers 而不是 os.Stdout
printf
package main
import (
"fmt"
)
type person struct {
height int
weight int
}
func main() {
Jason := person{178, 72}
fmt.Print(Jason)
fmt.Println(Jason) // 不換行
fmt.Printf("%v\n", Jason) // 可選擇使用什麼格式來印
fmt.Printf("%+v\n", Jason)
}
結果如下:
{178 72}{178 72}
{178 72}
{height:178 weight:72}
sprintf
s := fmt.Sprintf("%s ","string") //不會輸出,只會轉換格式為string
fmt.Println(s)
Fprintf
輸出到其他 io,例如http response
fmt.Fprintf(w, "%d", 123)
附錄:
%v 輸出結構體 {10 30}
%+v 輸出結構體顯示字段名 {one:10 tow:30}
%#v 輸出結構體源代碼片段 main.Point{one:10, tow:30}
%T 輸出值的類型 main.Point
%t 輸出格式化boolean true
%d`輸出標准的十進制格式化 100
%b`輸出標准的二進制格式化 99 對應 1100011
%c`輸出定整數的對應字符 99 對應 c
%x`輸出十六進制編碼 99 對應 63
%f`浮點數
%e`輸出科學 123400000.0 對應 1.234000e+08
%E`輸出科學 123400000.0 對應 1.234000e+08
%s 進行基本的字符串輸出 "\"string\"" 對應 "string"
%q a single-quoted character literal safely escaped with Go syntax.
%p 輸出一個指針的值 &jgt 對應 0xc00004a090
% 後面使用數字來控制輸出寬度 默認結果使用右對齊並且通過空格來填充空白部分
%2.2f 指定浮點型的輸出寬度 1.2 對應 1.20
%*2.2f 指定浮點型的輸出寬度對齊,使用 `-` 標志 1.2 對應 *1.20
Last updated