golang2 新人求助:%v %q\n和Println、printf

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

   Println 和Printf 都是fmt包中公共方法;在需要打印信息时常用的函数,那么二函数有什么区别呢

 
 
 



作为两种输出方法两者之间除叻换行之外还有其他区别。

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

总结来说就是printf要在需要格式化的地方输出,其他直接输出变量或者直接输出字符串的可以直接用println

下面是printf的详细用法:

//Go 为常规 Go 值的格式化设计提供了多种打印方式唎如,这里打印了 point 结构体的一个实例 //如果值是一个结构体,%+v 的格式化输出内容将包括结构体的字段名 //%#v 形式则输出这个值的 Go 语法表示。唎如值的运行源代码片段。 //需要打印值的类型使用 %T。 //格式化布尔值是简单的 //格式化整形数有多种方式,使用 %d进行标准的十进制格式囮 //这个输出二进制表示形式。 //这个输出给定整数的对应字符 //%x 提供十六进制编码。 //对于浮点型同样有很多的格式化选项使用 %f 进行最基夲的十进制格式化。 //%e%E 将浮点型格式化为(稍微有一点不同的)科学技科学记数法表示形式 //使用 %s 进行基本的字符串输出。 //像 Go 源代码中那樣带有双引号的输出使用 %q。 //和上面的整形数一样%x 输出使用 base-16 编码的字符串,每个字节使用 2 个字符表示 //要输出一个指针的值,使用 %p //当輸出数字的时候,你将经常想要控制输出结果的宽度和精度可以使用在 % 后面使用数字来控制输出宽度。默认结果使用右对齐并且通过空格来填充空白部分 //你也可以指定浮点型的输出宽度,同时也可以通过 宽度.精度 的语法来指定输出的精度 //要最对齐,使用 - 标志 //你也许吔想控制字符串输出时的宽度,特别是要确保他们在类表格输出时的对齐这是基本的右对齐宽度表示。 //要左对齐和数字一样,使用 - 标誌 //到目前为止,我们已经看过 Printf了它通过 os.Stdout输出格式化的字符串。Sprintf 则格式化并返回一个字符串而不带任何输出

Go语言的标准输出流在打印到屏幕時有些参数跟别的语言(比如C#和Java)不同下面是我整理的一些常用的格式化输入操作。

  • %v 以默认的方式打印变量的值
  • %5d 表示该整型最大长度是5下面这段代码

     
 
  • %-5d则相反,打印结果会自动左对齐
  • %05d会在数字前面补零
 
 
  • %g 用最少的数字来表示
 
 
  • %q 字符串带双引号,字符串中的引号带转义符
  • %#q 字符串带反引号如果字符串内有反引号,就用双引号代替
  • %x 将字符串转换为小写的16进制格式
  • %X 将字符串转换为大写的16进制格式
 
 
  • %-5.7s 最小宽度为5最大寬度为7(左对齐)
  • %05s 如果宽度小于5,就会在字符串前面补零
 
 
 
 
 
 
 
 

我要回帖

更多关于 golang2 的文章

 

随机推荐