golang 字符串格式化(转义字符)汇总表

总结一下golang中平时遇到过的字符串格式化方法,遇新的到再更新
以结构体为例

type point struct{
	x int
	y int
}

均可通过Printf来格式化输出

格式化指令 含义
%b 将一个整数格式化为二进制表达式
%c 一个unicode的字符
%d 10进制数值,可以使用在 % 后面使用数字来控制输出宽度,默认结果使用右对齐并且通过空格来填充空白部分,要左对齐,使用 - 标志。
%o 8进制数值
%x 小写的16进制
%X 大写的16进制
%U 一个unicode表示法表示的整形码值
%v 格式化输出内容: 输出:{1 2}
%+v 格式化输出内容:输出:{x:1 y:2}
%#v 格式化输出内容:输出:main.point{x:3, y:3}
%T 打印值类型
%f 以浮点数形式
%e 科学记数法表示数字
%E 科学记数法表示数字
%s 字符串
%q 输出带引号的字符串
%p 输出指针地址
%% 百分号本身(无操作数)
package main

import (
	"fmt"
)

func main() {

	p := point{
		x: 1,
		y: 2,
	}
	fmt.Printf("%b\n", 520)		//1000001000
	fmt.Printf("%o\n", 520)		//1010
	fmt.Printf("%0x\n", 520)	//208
	fmt.Printf("%v \n",p)			//{1 2}
	fmt.Printf("%+v \n",p)			//{x:1 y:2}
	fmt.Printf("%#v \n",p) 			//main.point{x:3, y:3}
	te()
	fmt.Printf("%T\n",p) 			//main.point{x:3, y:3}
	fmt.Printf("%t\n", true)
	fmt.Printf("%e\n", 1234000000.0) //1.234000e+09
	fmt.Printf("%E\n", 1234000000.0) //1.234000E+09
	fmt.Printf("%q\n", "I miss u") //"I miss u"
	fmt.Printf("%s\n", "I miss u") //I miss u
	fmt.Printf("%p\n", &p)				 //0xc0000b4010
	fmt.Printf("|%6d|%6d|\n", 52, 1314) //|    52|  1314|

	fmt.Printf("|%6.2f|%6.2f|\n", 1.2, 3.45)   //|  1.20|  3.45|
	fmt.Printf("|%-6.2f|%-6.2f|\n", 1.2, 3.45) //|1.20  |3.45  |




}

func te()  {
	p := point{
		x: 3,
		y: 3,
	}
	fmt.Printf("%#v \n",p) //main.point{x:1, y:2}


}
type point struct {
	x int
	y int
}

你可能感兴趣的:(Go,golang)