【Golang】细数go语言中的各种占位符

【Golang】细数go语言中的各种占位符

占位符作用
%s正常输出字符串
%5s正常输出字符串且最小宽度为5,不足前面补充空格
%-5s正常输出字符串且最小宽度为5,不足后面补充空格
%q输出字符串,并加引号
%#q输出字符串,并加反引号
%x输出小写16进制
% x输出带空格的小写16进制
% X输出带空格的大写16进制
%d输出数字
%5d至少占5个字符,不足前面补空格
%-5d至少占5个字符,不足后面补空格
%b输出整型的二进制
%v输出结构体每个字段的值
%#v输出结构体每个字段的字段名和值
%+v输出结构体每个字段的字段名和值
%p输出结构体的指针
%t输出boolean
%f输出float 类型 默认6位小数不足补零 超过6位5舍6入
%.3f输出float 类型取3位小数 4舍5入
package main

import "fmt"


type point struct {
	x,y int
}

func main()  {
	s := "test string"
	p := &point{
		x: 9,
		y: 8,
	}
	fmt.Println("-------字符串相关----------")
	fmt.Printf("%s%s\n","%s正常输出字符串 ->",s)
	fmt.Printf("%s%5s\n","%5s正常输出字符串且最小宽度为5,不足前面补充空格 ->","vic")
	fmt.Printf("%5s%-5s|\n","%5s正常输出字符串且最小宽度为5,不足后面补充空格 ->","vic")
	fmt.Printf("%s%q\n","%q输出字符串,并加引号 ->",s)
	fmt.Printf("%s%#q\n","%#q输出字符串,并加反引号 ->",s)
	fmt.Printf("%s%x\n","%x输出小写16进制 ->",s)
	fmt.Printf("%s% x\n","% x输出带空格的小写16进制 ->",s)
	fmt.Printf("%s% X\n","% X输出带空格的大写16进制 ->",s)
	fmt.Println("-------数字相关----------")
	fmt.Printf("%s%d\n","%d 输出数字 ->",1)
	fmt.Printf("%s%5d\n","%5d 至少占5个字符,不足前面补空格 ->",1)
	fmt.Printf("%s%-5d|\n","%-5d 至少占5个字符,不足后面补空格 ->",1)
	fmt.Printf("%s%5d\n","%5d 至少占5个字符,不足前面补空格 ->",100000000)
	fmt.Printf("%s%b\n","%b 输出整形的二进制 ->",10976)
	fmt.Println("-------结构体相关----------")
	fmt.Printf("%s%v\n","%v 输出结构体每个字段的值 ->",p)
	fmt.Printf("%s%#v\n","%#v 输出结构体每个字段的字段名和值 ->",p)
	fmt.Printf("%s%+v\n","%+v 输出结构体每个字段的字段名和值 ->",p)
	fmt.Printf("%s%p\n","%p 输出结构体的指针 ->",p)
	fmt.Println("-------bool类型相关----------")
	fmt.Printf("%s%t\n","%t 输出boolean 类型 ->",true)
	fmt.Println("-------float类型相关----------")
	fmt.Printf("%s%f\n","%f 输出float 类型 默认6位小数不足补零 ->",1.001)
	fmt.Printf("%s%f\n","%f 输出float 类型 超过6位小数5舍6入->",1.0010005)
	fmt.Printf("%s%f\n","%f 输出float 类型 ->",1.0010006)
	fmt.Printf("%s%.3f\n","%.3t 输出float 类型取3位小数 4舍5入 ->",1.0014006)
	fmt.Printf("%s%.3f\n","%.3t 输出float 类型取3位小数 ->",1.0016006)

}


输出结果

-------字符串相关----------
%s正常输出字符串 ->test string
%5s正常输出字符串且最小宽度为5,不足前面补充空格 ->  vic
%5s正常输出字符串且最小宽度为5,不足后面补充空格 ->vic  |
%q输出字符串,并加引号 ->"test string"
%#q输出字符串,并加反引号 ->`test string`
%x输出小写16进制 ->7465737420737472696e67
% x输出带空格的小写16进制 ->74 65 73 74 20 73 74 72 69 6e 67
% X输出带空格的大写16禁止 ->74 65 73 74 20 73 74 72 69 6E 67
-------数字相关----------
%d 输出数字 ->1
%5d 至少占5个字符,不足前面补空格 ->    1
%-5d 至少占5个字符,不足后面补空格 ->1    |
%5d 至少占5个字符,不足前面补空格 ->100000000
%-05d 至少占5个字符,不足前面补充0 ->00001
%b 输出整形的二进制 ->10101011100000
-------结构体相关----------
%v 输出结构体每个字段的值 ->&{9 8}
%#v 输出结构体每个字段的字段名和值 ->&main.point{x:9, y:8}
%+v 输出结构体每个字段的字段名和值 ->&{x:9 y:8}
%p 输出结构体的指针 ->0xc00000a100
-------bool类型相关----------
%t 输出boolean 类型 ->true
-------float类型相关----------
%f 输出float 类型 默认6位小数不足补零 ->1.001000
%f 输出float 类型 超过6位小数5舍6入->1.001000
%f 输出float 类型 ->1.001001
%.3t 输出float 类型取3位小数 ->1.001
%.3t 输出float 类型取3位小数 ->1.002
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值