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 ...
随机推荐
- spring boot thymeleaf 标签未关闭报错
每天学习一点点 编程PDF电子书免费下载: http://www.shitanlife.com/code spring boot,input标签未关闭报bug,代码稍有不慎就出小问题,后来百度,goo ...
- ]remove-duplicates-from-sorted-list-ii (删除)
题意略: 思路都在注解里: #include<iostream> #include<cstdio> using namespace std; struct ListNode { ...
- 使用Mongoose类库实现简单的增删改查
使用Mongoose类库实现简单的增删改查 Mongoose是在nodejs环境中对MongoDB数据库操作的封装,一种对象模型工具,可以将数据库中的数据转换为javascript对象供我们使用. M ...
- 完整卸载 kUbuntu-desktop from Ubuntu 14.04 LTS系统 ubuntu14.04 LTS 64Bit
sudo apt-get remove libkde3support4 k3b-data ntrack-module-libnl-0 libkrosscore4 libgpgme++2 libqapt ...
- docker知识复习
1.镜像基于内容寻址 基于内容寻址的实现,使用了两个目录:/var/lib/docker/image和/var/lib/docker/overlay, 后面的这个根据存储驱动的名称不同,而目录名不同. ...
- kubespray -- k8s集群dashboard 访问方式
1.参考这篇文章: https://github.com/kubernetes/dashboard/wiki/Creating-sample-user 创建用户 2.获取token 3.kubectl ...
- leetcode56:Merge Intervals
大都是自定义了 Interval的比较方法. 突发奇想 int [] arr=new int[intervals.Count*2]; for(int i=0;i<intervals.Count; ...
- oracle 把查询结果插入到表中几种方式
转载:Oracle中把一个查询结果插入到一张表中 以下是信息留存: 一.Oracle数据库中,把一张表的查询结果直接生成并导入一张新表中. 例如:现有只有A表,查询A表,并且把结果导入B表中.使用如下 ...
- SPOJ Qtree系列 5/7
Qtree1 树剖裸题 注意把边权移到深度较深的点上,树剖跳的时候不要将LCA的答案统计上就行了 #include<stdio.h> #include<string.h> #d ...
- LiveCharts文档-3开始-8自定义工具提示
原文:LiveCharts文档-3开始-8自定义工具提示 LiveCharts文档-3开始-8自定义工具提示 默认每个需要tooltip或者legend的chart都会初始化一个DefaultLeng ...