09 格式化输入输出

格式化输入输出

fmt包实现了类似C语言printf和scanf的格式化I/O,对应函数为:Printf和Scanf。

详见:https://golang.google.cn/pkg/fmt/

一 输出

1.1 普通占位符

占位符     说明                           举例                   输出
%v        相应值的默认格式。             Printf("%v", people)   {egon},
%+v       打印结构体时,会添加字段名      Printf("%+v", people)  {Name:egon}
%#v       相应值的Go语法表示            Printf("#v", people)   main.Human{Name:"egon"}
%T        相应值的类型的Go语法表示       Printf("%T", people)   main.Human
%%        字面上的百分号,并非值的占位符   Printf("%%")            %

示例

package main

import "fmt"

func main()  {
    var x interface{} = struct {
        name string
        age  int
    }{"egon", 18}
    fmt.Printf("%v\n",x)
    fmt.Printf("%+v\n",x)
    fmt.Printf("%#v\n",x)
    fmt.Printf("%T\n",x)
    fmt.Printf("%v%%\n",100)
}

输出

{egon 18}
{name:egon age:18}
struct { name string; age int }{name:"egon", age:18}
struct { name string; age int }
100%

1.2 布尔占位符

占位符       说明                举例                     输出
%t          true 或 false       Printf("%t", true)      true

1.3 整数占位符

占位符     说明                                  举例                       输出
%d      十进制表示                             Printf("%d", 0x12)          18
%b      二进制表示                             Printf("%b", 5)             101
%o      八进制表示                             Printf("%d", 10)            12
%x      十六进制表示,字母形式为小写 a-f         Printf("%x", 13)             d
%X      十六进制表示,字母形式为大写 A-F         Printf("%x", 13)             D

%c      相应Unicode码点所表示的字符              Printf("%c", 0x4E2D)        中
%q      单引号括起来的字符字面值,由Go语法安全地转义 Printf("%q", 0x4E2D)       '中'
%U      Unicode格式:U+1234,等同于 "U+%04X"     Printf("%U", 0x4E2D)       U+4E2D

示例

联系管理员微信tutu19192010,注册账号

上一篇
下一篇
Copyright © 2022 Egon的技术星球 egonlin.com 版权所有 帮助IT小伙伴学到真正的技术