Println :可以打印出字符串,和变量

Printf : 只可以打印出格式化的字符串,可以输出字符串类型的变量,不可以输出整形变量和整形

Sprintf:用传入的格式化规则符将传入的变量格式化,(终端中不会有显示),返回为 格式化后的字符串

当需要格式化输出信息时一般选择 Printf,其他时候用 Println 就可以了,比如:

a := 10
fmt.Println(a)  //right
fmt.Println("abc")  //right
fmt.Printf("%d",a)  //right
fmt.Printf(a)  //error

Printf 详细用法

package main
import "fmt"
import "os"
type point struct {x, y int
}
func main() {//Go 为常规 Go 值的格式化设计提供了多种打印方式。例如,这里打印了 point 结构体的一个实例。p := point{1, 2}fmt.Printf("%v\n", p) // {1 2}//如果值是一个结构体,%+v 的格式化输出内容将包括结构体的字段名。fmt.Printf("%+v\n", p) // {x:1 y:2}//%#v 形式则输出这个值的 Go 语法表示。例如,值的运行源代码片段。fmt.Printf("%#v\n", p) // main.point{x:1, y:2}//需要打印值的类型,使用 %T。fmt.Printf("%T\n", p) // main.point//格式化布尔值是简单的。fmt.Printf("%t\n", true)//格式化整形数有多种方式,使用 %d进行标准的十进制格式化。fmt.Printf("%d\n", 123)//这个输出二进制表示形式。fmt.Printf("%b\n", 14)//这个输出给定整数的对应字符。fmt.Printf("%c\n", 33)//%x 提供十六进制编码。fmt.Printf("%x\n", 456)//对于浮点型同样有很多的格式化选项。使用 %f 进行最基本的十进制格式化。fmt.Printf("%f\n", 78.9)//%e 和 %E 将浮点型格式化为(稍微有一点不同的)科学技科学记数法表示形式。fmt.Printf("%e\n", 123400000.0)fmt.Printf("%E\n", 123400000.0)//使用 %s 进行基本的字符串输出。fmt.Printf("%s\n", "\"string\"")//像 Go 源代码中那样带有双引号的输出,使用 %q。fmt.Printf("%q\n", "\"string\"")//和上面的整形数一样,%x 输出使用 base-16 编码的字符串,每个字节使用 2 个字符表示。fmt.Printf("%x\n", "hex this")//要输出一个指针的值,使用 %p。fmt.Printf("%p\n", &p)//当输出数字的时候,你将经常想要控制输出结果的宽度和精度,可以使用在 % 后面使用数字来控制输出宽度。默认结果使用右对齐并且通过空格来填充空白部分。fmt.Printf("|%6d|%6d|\n", 12, 345)//你也可以指定浮点型的输出宽度,同时也可以通过 宽度.精度 的语法来指定输出的精度。fmt.Printf("|%6.2f|%6.2f|\n", 1.2, 3.45)//要最对齐,使用 - 标志。fmt.Printf("|%-6.2f|%-6.2f|\n", 1.2, 3.45)//你也许也想控制字符串输出时的宽度,特别是要确保他们在类表格输出时的对齐。这是基本的右对齐宽度表示。fmt.Printf("|%6s|%6s|\n", "foo", "b")//要左对齐,和数字一样,使用 - 标志。fmt.Printf("|%-6s|%-6s|\n", "foo", "b")//到目前为止,我们已经看过 Printf了,它通过 os.Stdout输出格式化的字符串。Sprintf 则格式化并返回一个字符串而不带任何输出。s := fmt.Sprintf("a %s", "string")fmt.Println(s)//你可以使用 Fprintf 来格式化并输出到 io.Writers而不是 os.Stdout。fmt.Fprintf(os.Stderr, "an %s\n", "error")
}

Sprintf 详细用法

testStr := []byte("test str")
fmt.Println(testStr, "hello world")    //[116 101 115 116 32 115 116 114] hello world
fmt.Printf("%s", testStr) //test str
fmt.Println()
fmt.Sprintf("%s", testStr) //空,无IO输出
fmt.Println()
printStr := fmt.Sprintf("%s", testStr)
fmt.Println(printStr)    //test str

golang Println、Printf、Sprintf的区别相关推荐

  1. 三个打印函数printf()/sprintf()/snprintf()区别

    先贴上其函数原型 printf( const char *format, ...)    格式化输出字符串,默认输出到终端-----stdout sprintf(char *dest, const c ...

  2. printf,sprintf,vsprintf 区别【转】

    转自:http://blog.csdn.net/anye3000/article/details/6593551 有C语言写作历史的程序员往往特别喜欢printf 函数.即使可以使用更简单的命令(例如 ...

  3. go语言中fmt包中Print、Printf、Println输出相关函数的区别

    go语言中fmt包中Print.Printf.Println输出相关函数的区别 区别: Print系列函数将内容输出到系统的标准输出.其区别:Print函数式直接输出内容,Printf函数支持格式化输 ...

  4. print\println\printf的区别

    print\println\printf的区别 print将它的参数显示在命令窗口,并将输出光标定位在所显示的最后一个字符之后. println 将它的参数显示在命令窗口,并在结尾加上换行符,将输出光 ...

  5. Java中print()\println()\printf()的区别及用法

    print()\println()\printf()的区别: print将它的参数显示在命令窗口,并将输出光标定位在所显示的最后一个字符之后. println 将它的参数显示在命令窗口,并在结尾加上换 ...

  6. 【21】printf()与sprintf()的区别

    [1]基本概念 [1.1] 数据-------->屏幕 printf()     printf_s() (1)printf只是检查format字符串是否为空.如果为空,会触发assert(fal ...

  7. Golang与C#之switch区别

    2019独角兽企业重金招聘Python工程师标准>>> Golang与C#之switch区别 Go是Google开发的一种编译型,可并行化,并具有垃圾回收功能的编程语言. C#是微软 ...

  8. printf, sprintf - 转换成指定格式的输出结果.

    名称: printf, sprintf - 转换成指定格式的输出结果. 语法: void printf( string format, ... ); string sprintf( string fo ...

  9. C语言中的格式化打印printf/sprintf以及嵌入式printf重定向进行DEBUG

    一.printf描述 在C语言中,打印函数主要包括printf/sprintf/fprintf/snprintf等等,目的是将"给定的内容"按照"指定的格式"输 ...

最新文章

  1. python百度手势识别_【百度大脑新品体验】手势识别
  2. 给指定服务器加路由,无线路由器如何给终端分配指定的IP地址?
  3. 【TensorFlow-windows】学习笔记八——简化网络书写
  4. pcre安装_Nginx | Nginx的介绍和安装
  5. c++代码好玩_Python开源学习:60秒学会一个例子,147段简单代码助你从入门到大师 | 中文资源...
  6. week08 S8-01 docker images tensorflow-jupyter
  7. HDU 4442 Physical Examination(关于贪心排序)
  8. 后台系统-新增和编辑共用一个弹框(基于vue和element-ui)
  9. linux zmq编译pgm,czmq交叉编译
  10. Google编程规范中文文档,非常详细
  11. pig的安装、pig的数据模型和pig的常用命令
  12. 新的GSMA报告强调“智联万物”在全球的作用
  13. 【莫安迪原创摄影作品】深圳最美夕阳-烟云成画
  14. 简单上手理解Dav框架
  15. 上面两点下面一个三角形_图形学底层探秘 - 更现代的三角形光栅化与插值算法的实现与优化...
  16. Dell笔记本(预装win10)重装win7的方法
  17. 零基础学电路(一):白噪声电子催眠器电子温度计
  18. 我们的时间去了哪里?
  19. STM32驱动Marvell8801介绍(十五) ---- Marvell8801开启open热点/开启wpa热点/开启wpa2热点
  20. DB2: SQL0902C A system error occurred. Subsequent SQL statements cannot be processed. IBM software

热门文章

  1. 年薪50-80万 | 海南省崖州湾种子实验室海外优青招聘公告
  2. 突破传统生物3D打印技术局限-王秀杰/Charlie C.L. Wang/刘永进团队合作开发新型生物3D打印体系...
  3. 河南农大姚文与中科院北京基因组所章张课题组合作发布真核生物长链反向重复序列数据库...
  4. 送书 | 日读论文100+,AI都替代不了!辞去医药研发总监后,她成为了一名全职学术警察...
  5. 七龙珠 |召唤一份单细胞数据库汇总
  6. 第33课 打擂台 《小学生C++趣味编程》
  7. 30销售是让用户开心的购买和消费
  8. ie手机浏览器_Flash之后是不是该IE浏览器了
  9. linux定时监控端口并重新启动shell脚本命令
  10. 事务对性能影响_DRDS 柔性事务漫谈