Golang Printf、Sprintf 、Fprintf 格式化

/*
		%v 輸出結構體 {10 30}
		%+v 輸出結構體顯示字段名 {one:10 tow:30}
		%#v 輸出結構體源代碼片斷 main.Point{one:10, tow:30}
		%T 輸出值的類型			 main.Point
		%t 輸出格式化布爾值		 true
		%d`輸出標準的十進制格式化 100
		%b`輸出標準的二進制格式化 99 對應 1100011
		%c`輸出定整數的對應字符  99 對應 c
		%x`輸出十六進制編碼  99 對應 63
		%f`輸出十進制格式化  99 對應 63
		%e`輸出科學技科學記數法表示形式  123400000.0 對應 1.234000e+08
		%E`輸出科學技科學記數法表示形式  123400000.0 對應 1.234000e+08
		%s 進行基本的字符串輸出   "\"string\""  對應 "string"
		%q 源代碼中那樣帶有雙引號的輸出   "\"string\""  對應 "\"string\""
		%p 輸出一個指針的值   &jgt 對應 0xc00004a090
		% 後面使用數字來控制輸出寬度 默認結果使用右對齊而且經過空格來填充空白部分
		%2.2f  指定浮點型的輸出寬度 1.2 對應  1.20
		%*2.2f  指定浮點型的輸出寬度對齊,使用 `-` 標誌 1.2 對應  *1.20
	 */
	jgt := Point{10,30}
	fmt.Printf("%v\n",jgt)        // {10 30}
	fmt.Printf("%+v\n",jgt)		// {one:10 tow:30}
	fmt.Printf("%#v\n",jgt)		// main.Point{one:10, tow:30}
	fmt.Printf("%T\n",jgt)			// main.Point
	fmt.Printf("%t\n",true)	// true
	fmt.Printf("%d\n",100)		// 100
	fmt.Printf("%b\n",99)		// 99 對應 1100011
	fmt.Printf("%c\n",99)		// 99 對應 c
	fmt.Printf("%x\n",99)		// 99 對應 63
	fmt.Printf("%f\n",99.9)		// 99.9 對應 99.900000
	fmt.Printf("%e\n",123400000.0)		// 123400000.0 對應 1.234000e+08
	fmt.Printf("%E\n",123400000.0)		// 123400000.0 對應 1.234000e+08
	fmt.Printf("%s\n","\"string\"")	// "\"string\""  對應 "string"
	fmt.Printf("%q\n","\"string\"")	// "\"string\""  對應 "string"
	fmt.Printf("%p\n",&jgt)				// &jgt 對應 0xc00004a090
	fmt.Printf("%6d\n",8)				// &jgt 對應 0xc00004a090
	fmt.Printf("%2.2f\n",1.2 )				// 1.2 對應 1.20
	fmt.Printf("*%2.2f\n",1.2 )				// 1.2 對應 *1.20

	// 輸出格式化的字符串。`Sprintf` 則格式化並返回一個字 符串而不帶任何輸出。
	s := fmt.Sprintf("是字符串 %s ","string")
	fmt.Println(s) // 是字符串 %s  對應  是字符串 string

	// 你可使用 `Fprintf` 來格式化並輸出
	fmt.Fprintf(os.Stderr, "格式化 %s\n", "error")
相關文章
相關標籤/搜索