本文来源: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的更多相关文章

  1. golang格式化输出-fmt包用法详解

    golang格式化输出-fmt包用法详解 注意:我在这里给出golang查询关于包的使用的地址:https://godoc.org    声明: 此片文章并非原创,大多数内容都是来自:https:// ...

  2. 格式化输出和printf命令

    GNU版本的printf命令用来格式化输出,效果类似与C语言的printf函数.2.x以上版本的Bash内建的printf命令和e/usr/bin下的printf命令使用方法一样. 例子:$print ...

  3. shell的格式化输出命令printf

    printf 命令用于格式化输出, 是echo命令的增强版.它是C语言printf()库函数的一个有限的变形,并且在语法上有些不同. 注意:printf 由 POSIX 标准所定义,移植性要比 ech ...

  4. 字符截取:cut,格式化输出:printf,字符截取:awk,文件或命令输出编辑:sed

    cut 选项 文件名 -f 列号 提取第几列 -d 分隔符 指定分隔符把行分成多列 不能以空格为分隔符. [root@localhost ~]# cat testfile no. name sex s ...

  5. golang --- fmt.printf I/O 函数格式化说明

    说明 fmt 包实现了格式化 I/O 函数,类似于 C 的 printf 和 scanf格式“占位符”衍生自 C,但比 C 更简单 常用格式化输出 fmt.Printf("start at ...

  6. 【转】 Golang输入输出格式化Printf Springf Fprintf..

    // Go 在传统的`printf` 中对字符串格式化提供了优异的支持. // 这里是一些基本的字符串格式化的人物的例子. package main import "fmt" im ...

  7. golang fmt.printf()

      package main import "fmt" import "os" type point struct { x, y int } func main ...

  8. (Go)06. Printf格式化输出、Scanf格式化输入详解

    Print.Println .Printf .Sprintf .Fprintf都是fmt 包中的公共方法,在需要打印信息时需要用到这些函数,那么这些函数有什么区别呢? Print: 输出到控制台(不接 ...

  9. shell编程系列15--文本处理三剑客之awk格式化输出printf

    shell编程系列15--文本处理三剑客之awk格式化输出printf printf的格式说明符 格式符 含义 %s 打印字符串 %d 打印十进制数 %f 打印一个浮点数 %x 打印十六进制数 %o ...

随机推荐

  1. Node.js webpack Vue-CLI --安装

    Node.js 安装 从官网 下载 安装 Node.js 官网 Node.js 官方文档 cmd 命令 node -v 查看版本号 v10.15.0 npm 包管理工具 npm 是JavaScript ...

  2. sed命令替换字符包含斜杠\,引号的处理方法

    在字符替换中,可能会遇见引号,“/”等的替换,这时应该注意,sed的命令原型是: sed -i  "s/oldstring/goalstring/g" file 如果一个路径是da ...

  3. console.time和console.timeEnd用法

    console.time和console.timeEnd这两个方法可以用来让WEB开发人员测量一个javascript脚本程序执行消耗的时间.随着WEB应用越来越重要,JavaScript的执行性能也 ...

  4. SpringMVC+Spring+Mybatis框架集成

    一.基本概念 1.Spring      Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-O ...

  5. EXCEL这样根据某单元格的内容来改变整行颜色

    1.选择你需要改变颜色的单元格列数,然后打开“格式”--“条件格式”: 2.选择“公式”一项,在后面输入=$L1=2050,然后点开下面的“格式”按钮设置好格式. 3.基本上就OK了,注意在输入公式的 ...

  6. MSSQL Server 数据库备份还原常用SQL语句及注意

    1.备份数据库 backup database db_name to disk='d:\db_name.bak' with format --通过使用with format可以做到覆盖任何现有的备份和 ...

  7. metamask源码学习-contentscript.js

    When a new site is visited, the WebExtension creates a new ContentScript in that page's context, whi ...

  8. PAT A1137 Final Grading (25 分)——排序

    For a student taking the online course "Data Structures" on China University MOOC (http:// ...

  9. Selenium:三种等待方式

    UI自动化测试,大多都是通过定位页面元素来模拟实际的生产场景操作.但在编写自动化测试脚本中,经常出现元素定位不到的情况,究其原因,无非两种情况:1.有frame:2.没有设置等待. 因为代码运行速度和 ...

  10. TCP/IP协议--TCP的交互数据流和成块数据流

    前边讲了TCP连接的建立和终止,分别要三次握手和四次通信.这些报文段都只包含首部,没有数据部分.    这里就讲讲数据传送的一些细节.一个TCP连接建立成功以后,就可以开始传送数据了~ 一般TCP数据 ...