字符串格式化

// Go 之 字符串格式化
//
// Copyright (c) 2015 - Batu
//
package main import (
"fmt"
) type point struct {
x, y int
} func main(){
// 格式化整型。使用`%d`是一种
// 标准的以十进制来输出整型的方式
// 有符号十进制整数(int)(%ld、%Ld:长整型数据(long),%hd:输出短整形。)
fmt.Println("=====%d,输出十进制====")
fmt.Printf("%d\n", 110) // 输出整型的二进制表示方式
fmt.Println("=====%b,输出二进制====")
fmt.Printf("%b\n", 110) // 输出整型数值所相应的字符(char):一个字节。占8位
// 可參考 ASCII
fmt.Println("=====%c,输出一个值的字符(char)====")
fmt.Printf("%c\n",97) // 输出一个值的十六进制,每一个字符串的字节用两个字符输出
fmt.Println("=====%x,输出一个值的十六进制,每一个字符串的字节用两个字符输出====")
fmt.Printf("0x%x\n", 10)
fmt.Printf("%x\n", "abc") // 输出浮点型数值
fmt.Println("=====%f,输出浮点型数值====")
fmt.Printf("%f\n", 27.89) // 输出主要的字符串
fmt.Println("=====%s,输出基本字符串====")
fmt.Printf("%s-%s-%s\n","I","am","batu") // 输出带双引號的字符串
fmt.Println("=====%q,输出带双引號的字符串====")
fmt.Printf("%q\n","string") // Go提供了几种打印格式。用来格式化一般的Go值
p := point{1, 2} fmt.Println("=====%p,输出一个指针的值====")
fmt.Printf("%p\n", &p)
fmt.Println("=====%v,输出结构体的对象值====")
fmt.Printf("%v\n", p)
// 假设所格式化的值是一个结构体对象。那么`%+v`的格式化输出
fmt.Println("=====%+v,输出结构体的成员名称和值====")
fmt.Printf("%+v\n", p)
fmt.Println("=====%#v,输出一个值的Go语法表示方式====")
fmt.Printf("%#v\n",p)
fmt.Println("=====%T,输出一个值的数据类型====")
fmt.Printf("%T\n",p) // 当输出数字的时候,常常须要去控制输出的宽度和精度。
// 能够使用一个位于%后面的数字来控制输出的宽度。默认情况下输出是右对齐的,左边加上空格
fmt.Println("=====控制输出的宽度和精度====")
fmt.Printf("|%5d|%5d|\n", 12, 345)
fmt.Println("=====输出宽度,同一时候指定浮点数====")
fmt.Printf("|%5.2f|%5.2f|\n", 1.2, 3.45)
fmt.Println("=====左对齐====")
fmt.Printf("|%-5.2f|%-5.2f|\n", 1.2, 3.45) }

=====%d,输出十进制====

110

=====%b,输出二进制====

1101110

=====%c,输出一个值的字符(char)====

a

=====%x,输出一个值的十六进制,每一个字符串的字节用两个字符输出====

0xa

616263

=====%f,输出浮点型数值====

27.890000

=====%s,输出基本字符串====

I-am-batu

=====%q,输出带双引號的字符串====

“string”

=====%p,输出一个指针的值====

0xc82000a410

=====%v,输出结构体的对象值====

{1 2}

=====%+v,输出结构体的成员名称和值====

{x:1 y:2}

=====%#v,输出一个值的Go语法表示方式====

main.point{x:1, y:2}

=====%T,输出一个值的数据类型====

main.point

=====控制输出的宽度和精度====

| 12| 345|

=====输出宽度,同一时候指定浮点数====

| 1.20| 3.45|

=====输出宽度,同一时候指定浮点数====

|1.20 |3.45 |

Golang之字符串格式化的更多相关文章

  1. Golang字符串格式化

    Go对字符串格式化提供了良好的支持.下面我们看些常用的字符串格式化的例子. package main import ( "fmt" "os" ) type po ...

  2. Python高手之路【六】python基础之字符串格式化

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...

  3. Java 字符串格式化详解

    Java 字符串格式化详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 文中如有纰漏,欢迎大家留言指出. 在 Java 的 String 类中,可以使用 format() 方法 ...

  4. Python(四)装饰器、迭代器&生成器、re正则表达式、字符串格式化

    本章内容: 装饰器 迭代器 & 生成器 re 正则表达式 字符串格式化 装饰器 装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志.性能测试.事务处理等.装饰器是解 ...

  5. C++字符串格式化库:CPPFormatLibrary

    这个是很久之前写的,去年总结了一下,将其单独提取出来,作为一个开源库放到了GitHub上,然而CPPFormat之类的名字都已经被抢注了,结果只好注册了一个这么蛋疼的名字:CPPFormatLibra ...

  6. js字符串格式化扩展方法

    平时使用js的时候会遇到很多需要拼接字符串的时候,如果是遇到双引号和单引号混合使用,经常会搞混.在C#中有string.Format方法,使用起来非常方便,也很容易理解,所以找到一种参考C#的form ...

  7. JAVA字符串格式化-String.format()的使用(转)

    常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处.format()方法有两种重 ...

  8. Python字符串格式化

    一.使用格式化符来格式化字符串: Python支持的所有格式化符 格式化符 意义 'd' 返回要格式化对象的十进制表示,如果可以 'i' 返回要格式化对象的十进制表示,如果可以 'o' 返回要格式化对 ...

  9. Python 字符串格式化

    Python 字符串格式化 Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存 一 ...

随机推荐

  1. C#实现发布订阅模式

    首先给出项目的结构 IPublish.cs的源码: namespace NsWebChat.PublishSubscribe { /// <summary> /// 发布事件基础接口 // ...

  2. VTK三维点集轮廓凸包提取

    碰撞检测问题在虚拟现实.计算机辅助设计与制造.游戏及机器人等领域有着广泛的应用,甚至成为关键技术.而包围盒算法是进行碰撞干涉初步检测的重要方法之一.包围盒算法是一种求解离散点集最优包围空间的方法.基本 ...

  3. appium环境搭建参考

    别人的安装经验,如果再遇到问题可以参考: http://www.cnblogs.com/fnng/p/4540731.html

  4. Linux人工清理内存cache

     内存缓存的出现是解决,设备之间的读写速度的差异! 00.linux缓存解释 /proc/sys/vm/drop_caches (since Linux 2.6.16)Writing to this ...

  5. Retrofit2完全教程

    本文注目录: Retrofit入门 Retrofit注解详解 Gson与Converter RxJava与CallAdapter 自定义Converter 自定义CallAdapter 其它说明 前言 ...

  6. CSS中position:fixed的相关用法

    CSS中的三大重点知识: 1.float,浮动 2.盒子模型 3.position绝对定位 今天主要写下position中fixed相关知识: position:static,relative,abs ...

  7. usr/bin/X11各个程序中文详解

    X11程序 animate 输出图形结果 bitmap bmtoa bounce 输出X屏幕保存结果 display 浏览编辑image magick图像 editres 编辑X11资源 flsfon ...

  8. aligned_storage简单学习

    #include <iostream> #include <type_traits> #include <string> /* template< std:: ...

  9. 使用requests库实现多线程下载

    多线程下载主要用到http请求中的header Content-Length:资源长度,用于确认资源的总长度,从而便于规划每个线程的任务量 Range:bytes=beg1-end1;beg2-end ...

  10. Android百度地图相关内容汇总

    Android百度地图知识讲解 1.百度地图开发环境搭建    http://www.apkbus.com/android-116050-1-1.html 2.Android百度地图系列教程    h ...