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 UI开发神兵利器之Android Action Bar Style Generator
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/x359981514/article/details/26283129 ActionBar是3.0后的 ...
- CentOS 7.x编译安装Nginx1.10.3+MySQL5.7.16+PHP5.2 5.3 5.4 5.5 5.6 7.0 7.1多版本全能环境
准备篇 一.防火墙配置 CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.se ...
- Java多线程编程模式实战指南(三):Two-phase Termination模式
停止线程是一个目标简单而实现却不那么简单的任务.首先,Java没有提供直接的API用于停止线程.此外,停止线程时还有一些额外的细节需要考虑,如待停止的线程处于阻塞(等待锁)或者等待状态(等待其它线程) ...
- C# Hashtable vs Dictionary 学习笔记
Hashtable 和 Dictionary 存储的都是键值对,我的理解是Dictionary是Hashtable的泛型实现. Hashtable的键和值都是object类型.所以,key和value ...
- python 知识
def action_cancel_sale_order(self,cr,uid,ids,context=None): self.message_post(cr, uid, ids, body=u&q ...
- SQLSERVER 中sp_who, sp_who2和sp_who3(转载)
sp_who可以返回如下信息: (可选参数LoginName, 或active代表活动会话数)Spid (系统进程ID)status (进程状态)loginame (用户登录名)hostname(用户 ...
- ES6-课程介绍
ES6 可以提高开发效率,把ES3比做斧头,ES5比做锯子,那么ES6就是电锯. ES6新特性 默认参数.字符串模板.结构赋值.箭头函数.set\mat .异步操作.类和对象 .模块化
- C# yield关键词使用
C#有一个关键词yield,简化遍历操作实现的语法糖. 下面Insus.NET使用例子来说明,就拿昨晚的一篇<从字符串数组中把数字的元素找出来> http://www.cnblogs.co ...
- TopShelf 自动配置Service测试
在开发中经常会遇到后台定时处理数据和任务的情况,处理这些事情大概有以下几种方案: 1.使用数据库的job功能.优点是在数据库中可以完成的就在数据库中完成,配置等基础设施数据库都提供,简单快捷.缺点是如 ...
- odoo11 添加自定义模块报错问题
在昨天解决了数据库管理页面布局混乱的问题之后,如何设置自己的custom_addons模块文件夹成了主要问题,建立自己的custom_addons文件夹,可以使用git命令来管理自己所写代码的版本了, ...