字符串格式化

// 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. python模块之HTMLParser(原理很大程度上就是对类构造的熟练运用)

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #python模块之HTMLParser(原理很大程度上就是对类构造的熟练运用) import HTMLPar ...

  2. 【Android开发经验】怎样查看android-support-v4支持包中的源代码

    在support-v4包里面.加入了非常多的支持控件,比方ViewPager,Fragment等,为了解决一些问题,我们有时候想要看一下实现源代码,可是点进去之后.源代码并不会显示出来,会出现以下的情 ...

  3. chrome配置文件校验初始化隐含參数的逆向

     这篇文章接上一篇文章进一步升华:花了4个小时获得该信息的计算方式 比方在 chrome文件夹下的\Chrome\User Data\Default文件夹下的Secure Preferences,须要 ...

  4. 理解bleu

    bleu全称为Bilingual Evaluation Understudy(双语评估替换),是2002年提出的用于评估机器翻译效果的一种方法,这种方法简单朴素.短平快.易于理解.因为其效果还算说得过 ...

  5. 树莓派进阶之路 (024) - windows远程桌面连接树莓派通过xrdp服务(转)

    本文转载:http://www.cnblogs.com/edgexie/p/6527992.html 在网上看到很多关于windows远程桌面连接树莓派的教程.我也按照教程试过了,遇到了几个坑.特意记 ...

  6. Sketch Measure

    Sketch Measure 让创建规范成为开发者和团队协作的乐趣 http://sketch.im/plugins/1 安装 下载安装包 双击 Sketch Measure.sketchplugin ...

  7. Flume与Logstash比较

    Flume与Logstash相比,个人的体会如下: Logstash比较偏重于字段的预处理:而Flume偏重数据的传输: Logstash有几十个插件,配置灵活:FLume则是强调用户的自定义开发(s ...

  8. 基于matplotlib的数据可视化 - 笔记

    1 基本绘图 在plot()函数中只有x,y两个量时. import numpy as np import matplotlib.pyplot as plt # 生成曲线上各个点的x,y坐标,然后用一 ...

  9. 解决Android中多次点击(快速点击多次 )启动多个相同界面的问题

    通过以下代码可以解决这个问题. /** * 防止快速点击 * @param ev * @return */ @Override public boolean dispatchTouchEvent(Mo ...

  10. iphone 开发中使用zbar时遇到的几个典型问题解决方法。

    iphone 开发中使用zbar时遇到的几个典型问题解决方法.   在近期的一个ios项目中使用到了一个二维码扫描库(Qrcode)--ZBar, 期间遇到2个问题.   1. zbar下载后使用其l ...