Golang的格式化输出fmt.Printf
本文来源:Go by example。
Golang的格式化输出 和 C语言的标准输出基本一样,但是增加了一些针对Golang语言的特有数据结构的格式化输出方式。
一下就是实例:
package main
import "fmt" //一定不要忘了 type point struct{
x,y int
} func test(i , j int) int{ return i+j;} func main(){
p := point{1,2} fmt.Printf("%d\n",p) // {1 2} fmt.Printf("%+v\n",p) // {x:1 y:2} fmt.Printf("%#v\n",p) // main.point{x:1, y:2} //输出类型
fmt.Printf("%T\n",p) // main.point //输出函数签名
fmt.Printf("%T\n",test) //func(int ,int) int //输出bool值
flag := true
fmt.Printf("%t\n",flag) // true //尝试将一个字符串作为参数来输出bool值,不要尝试这样做
fmt.Printf("%t\n","true") //%!t(string=true) //输出十进制形式输出
fmt.Printf("%d\n",123) // 123 //输出一个字符,参数对应ASCII码
fmt.Printf("%c\n",98) // b //输出一个整数的二进制形式的值
fmt.Printf("%b\n",98) // 1100010 //输出一个字符的二进制形式的值
fmt.Printf("%b\n",'b') // 1100010 //如果参数是数字,则以十六进制形式输出
fmt.Printf("%x\n",456) // 1c8 //如果参数是字符串,则打印字符串的每一个字符的ASCII码
fmt.Printf("%x\n","hex this") // 6865782074686973 //浮点数形式输出,注意小数位数为6位
fmt.Printf("%f\n",78.53) // 78.530000 //注意这里前后不对应,不会报错,但是不会自动转换
fmt.Printf("%d\n",78.53) // %!d(float64=78.53) //科学计数法的形式,注意参数要为小数,不为小数,可以乘1.0
fmt.Printf("%e\n",123400000000.0) //1.234000e+11 注意参数为小数 //科学计数法的形式,注意参数要为小数,不为小数,可以乘1.0
fmt.Printf("%E\n",123000000000.0) //1.234000E+11 //输出字符串
fmt.Printf("%s\n","\"ddadjfaskdafjasfsaf") //"ddadjfaskdafjasfsaf //保留字符串两端的双引号
fmt.Printf("%q\n","\"dddddddd\"") // "\"dddddddd\"" //输出指针(地址)的值
fmt.Printf("%p\n",&p) //0xc420012090 //最小宽度为6,默认右对齐,不足6位时,空格补全,超过6位时,不会截断
fmt.Printf("|%6d|%6d|\n",12,1234567) // | 12|1234567| //最小6个宽度(包含小数点),2位小数,超过6位时,不会截断
fmt.Printf("|%6.2f|%6.2f|\n",12,222.333) // |%!f(int= 12)|222.33| //使用 - 表示左对齐
fmt.Printf("|%-6.2f|%-6.2f|\n",12.2,3.33) //|12.20 |3.33 | //最小6个宽度,右对齐,不足6个时,空格补齐,超过6位时,不会截断
fmt.Printf("|%6s|%6s|\n","foo","abcdefgg") //| foo|abcdefgg| ////最小6个宽度,右对齐,不足6个时,空格补齐,超过6位时,不会截断
fmt.Printf("|%-6s|%-6s|\n","foo","abcdeefgth") //|foo |abcdeefgth| //不会输出内容,相反,会将内容以字符串的形式返回
s:= fmt.Sprintf("a %s","string")
fmt.Println(s) //a string
}
Golang的格式化输出fmt.Printf的更多相关文章
- golang格式化输出-fmt包用法详解
golang格式化输出-fmt包用法详解 注意:我在这里给出golang查询关于包的使用的地址:https://godoc.org 声明: 此片文章并非原创,大多数内容都是来自:https:// ...
- 格式化输出和printf命令
GNU版本的printf命令用来格式化输出,效果类似与C语言的printf函数.2.x以上版本的Bash内建的printf命令和e/usr/bin下的printf命令使用方法一样. 例子:$print ...
- shell的格式化输出命令printf
printf 命令用于格式化输出, 是echo命令的增强版.它是C语言printf()库函数的一个有限的变形,并且在语法上有些不同. 注意:printf 由 POSIX 标准所定义,移植性要比 ech ...
- 字符截取:cut,格式化输出:printf,字符截取:awk,文件或命令输出编辑:sed
cut 选项 文件名 -f 列号 提取第几列 -d 分隔符 指定分隔符把行分成多列 不能以空格为分隔符. [root@localhost ~]# cat testfile no. name sex s ...
- golang --- fmt.printf I/O 函数格式化说明
说明 fmt 包实现了格式化 I/O 函数,类似于 C 的 printf 和 scanf格式“占位符”衍生自 C,但比 C 更简单 常用格式化输出 fmt.Printf("start at ...
- 【转】 Golang输入输出格式化Printf Springf Fprintf..
// Go 在传统的`printf` 中对字符串格式化提供了优异的支持. // 这里是一些基本的字符串格式化的人物的例子. package main import "fmt" im ...
- golang fmt.printf()
package main import "fmt" import "os" type point struct { x, y int } func main ...
- (Go)06. Printf格式化输出、Scanf格式化输入详解
Print.Println .Printf .Sprintf .Fprintf都是fmt 包中的公共方法,在需要打印信息时需要用到这些函数,那么这些函数有什么区别呢? Print: 输出到控制台(不接 ...
- shell编程系列15--文本处理三剑客之awk格式化输出printf
shell编程系列15--文本处理三剑客之awk格式化输出printf printf的格式说明符 格式符 含义 %s 打印字符串 %d 打印十进制数 %f 打印一个浮点数 %x 打印十六进制数 %o ...
随机推荐
- Android 的窗口管理系统 (View, Canvas, WindowManager)
http://blog.csdn.net/ritterliu/article/details/39295271 From漫天尘沙 在图解Android - Zygote 和 System Server ...
- zookeeper+kafka集群安装之中的一个
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/cheungmine/article/details/26678877 zookeeper+kafka ...
- 用PHP的curl实现并发请求远程文件(并发抓取远程网页)
PHP的curl功能确实强大了.里面有个curl_multi_init功能,就是批量处理任务.可以利用此,实现多进程同步抓取多条记录,优化普通的网页抓取程序. 一个简单的抓取函数: function ...
- 1094 和为k的连续区间(暴力)
基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注 一整数数列a1, a2, ... , an(有正有负),以及另一个整数k,求一个区间[i, j],(1 ...
- Laravel小项目之第4节 Laravel-通过表单实现新增及操作状态提示功能
第4节 Laravel-通过表单实现新增及操作状态提示功能 4.1 显示新增表单视图 4.2 通过模型实现新增 4.3 操作状态提示 4.1 显示新增表单视图 修改边栏的链接 \resources\v ...
- YOLO(5) YOLO2 代码讲解
运行 darknet-rect2.exe detector demo F:/2Project/YOLO/yolo2/3data/TestData/data/voc.data F:/2Project/Y ...
- linux 的常用命令---------第十一阶段
软件管理rpm.yum 在 windows 与 linux 之间 实现小文件传输(仅支持在 X shell 中完成文件传输,虚拟机中不可实现): # yum install lrzsz -y ...
- 转载 多线程实际运用<第七篇>
多线程实际运用<第七篇> 1.单线程采集100个页面 class Program { static int i = 6991275; static void Main(string[] a ...
- RabbitMq、ActiveMq、ZeroMq、kafka之间的比较
MQ框架非常之多,比较流行的有RabbitMq.ActiveMq.ZeroMq.kafka.这几种MQ到底应该选择哪个?要根据自己项目的业务场景和需求.下面我列出这些MQ之间的对比数据和资料. 第一部 ...
- Centos7下完美安装并配置mysql5.6
Centos7将默认数据库mysql替换成了Mariadb,对于我们这些还想用mysql的人来说并不是一个好消息. 最近我搜罗了网上各种安装教程,各种出问题,要么安装失败,要么安装成功了却使用不了my ...