go语言字符串格式化

来源:互联网 发布:验机软件 编辑:程序博客网 时间:2024/05/17 07:43

Go语言对字符串格式化提供了良好的支持。下面通过代码展示字符串的格式化。

package mainimport "fmt"import "os"type point struct {    x, y int}func main() {    // Go提供了几种打印格式,用来格式化一般的Go值,例如    // 下面的%v打印了一个point结构体的对象的值    p := point{1, 2}    fmt.Printf("%v\n", p)    // 如果所格式化的值是一个结构体对象,那么`%+v`的格式化输出    // 将包括结构体的成员名称和值    fmt.Printf("%+v\n", p)    // `%#v`格式化输出将输出一个值的Go语法表示方式。    fmt.Printf("%#v\n", p)    // 使用`%T`来输出一个值的数据类型    fmt.Printf("%T\n", p)    // 格式化布尔型变量    fmt.Printf("%t\n", true)    // 有很多的方式可以格式化整型,使用`%d`是一种    // 标准的以10进制来输出整型的方式    fmt.Printf("%d\n", 123)    // 这种方式输出整型的二进制表示方式    fmt.Printf("%b\n", 14)    // 这里打印出该整型数值所对应的字符    fmt.Printf("%c\n", 33)    // 使用`%x`输出一个值的16进制表示方式    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`以16进制输出字符串,每个字符串的字节用两个字符输出    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)    // To left-justify, use the `-` flag.    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`    fmt.Fprintf(os.Stderr, "an %s\n", "error")}

运行结果

{1 2}{x:1 y:2}main.point{x:1, y:2}main.pointtrue1231110!1c878.9000001.234000e+081.234000E+08"string""\"string\""68657820746869730x103a10c0|    12|   345||  1.20|  3.45||1.20  |3.45  ||   foo|     b||foo   |b     |a stringan error
转自:http://blog.csdn.net/fer_ba/article/details/38293157
参考:http://blog.csdn.net/liuxinmingcode/article/details/50448278
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 给充电宝充电慢怎么办 小米5s充不了电怎么办 百度网盘下载速度慢怎么办 负债累累没有钱没有资源怎么办 好福利密码忘了怎么办 手机无法申请百度网盘怎么办 魅族手机运行慢怎么办 阿里小宝卡流量用完了怎么办 阿里宝卡流量用完了怎么办 百度网盘本地空间不足怎么办 百度网盘空间不足怎么办 百度网盘容量不够怎么办 百度网盘内存不够怎么办 百度网盘储存空间不足怎么办 百度网盘手机号注销了怎么办 手机系统升级后照片没了怎么办 换手机照片没了怎么办 苹果手机icloud满了怎么办 百度网盘密码忘记怎么办 手机卡不用了支付宝账号怎么办 手机校园网不弹出登录界面怎么办 百度云需要邮箱验证怎么办 网页百度网盘不播放视频怎么办 手机qq邮箱中转站容量不足怎么办 qq邮箱容量满了怎么办 手机邮箱中转站容量不足怎么办 微信号登陆要好友验证怎么办 邮箱账号名忘了怎么办 苹果六话筒坏了怎么办 iphone后置摄像头坏了怎么办 苹果8听歌声音小怎么办 酷狗音乐没了怎么办 手机听歌音量小怎么办 苹果手机酷狗音乐打不开怎么办 电脑酷狗音乐打不开怎么办 酷狗音乐无法运行播放怎么办? 酷狗音乐停止运行怎么办 米6蓝牙声音小怎么办 手里酷狗id丢了怎么办 连麦声音不好听怎么办 微信语音声音很难听怎么办