• Go语言fmt包详解


    格式化输出函数

     fmt包含有格式化I/O函数,类似于C语言的printf和scanf。格式字符串的规则来源于C,但更简单一些

    1.print和println方法

    print输出给定的字符串,如果是数值或字符,则输出对应的十进制表示

    fmt.Print("a", "
    ")      //输出a  
    fmt.Print("a", "b", "
    ") //输出ab  
    fmt.Print('a', "
    ")      //输出97  
    fmt.Print('a', 'b', "
    ") //输出97 98   字符之间会输出一个空格  
    fmt.Print(12, "
    ")       //输出12  
    fmt.Print(12, 13, "
    ")   //输出12 13   数值之间输出一个空格

    Println 自动在结尾输出 ,两个数值之间自动加空格,每项之间自动加空格 

    fmt.Println("---------------------------------")  
    fmt.Println("a")          //输出a  
    fmt.Println("a", "b")     //输出a b  
    fmt.Println('a')          //输出97  
    fmt.Println('a', 'b')     //输出97 98  
    fmt.Println(12)           //输出12  
    fmt.Println(12, 13)       //输出12 13  
    fmt.Println("
    ", 12, 13) //输出 12 13   12之前有一个空格

    2、以下为printf方法的格式说明:

    printf 格式化输出

    定义变量示例

    type Human struct {
        Name string
    }
    
    var people = Human{Name:"春生"}

    普通占位符

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

    布尔占位符

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

    整数占位符

    占位符 说明 举例 输出
    %b  
    二进制表示
    fmt.Printf("%b", 5)
       101
    %c
     相应Unicode码点所表示的字符
    fmt.Printf("%c", 0x4E2D)
    %d
    十进制表示
    fmt.Printf("%d", 0x12)
    18
    %o
     八进制表示
    fmt.Printf("%d", 10)
    12
    %q 
    单引号围绕的字符字面值,由Go语法安全地转义
    fmt.Printf("%q", 0x4E2D)
       '中'
       %x  十六进制表示,字母形式为小写 a-
    fmt.Printf("%x", 13)
        d

       %X

       十六进制表示,字母形式为大写 A-F
    fmt.Printf("%x", 13)
       D
       %  Unicode格式:U+1234,等同于 "U+%04X"
    fmt.Printf("%U", 0x4E2D)
     U+4E2D

    浮点数和复数的组成部分(实部和虚部)

    占位符说明举例
    %e (=%.6e) 6位小数点
    科学计数法,例如 -1234.456e+78
    fmt.Printf("%e", 10.2)
    %E 科学计数法,例如 -1234.456E+78 fmt.Printf("%e", 10.2)
    %f (=%.6f) 6位小数点
    有小数点而无指数,例如 123.456
    fmt.Printf("%f", 10.2)
    %g 根据情况选择 %e 或 %f 以产生更紧凑的(无末尾的0)输出 fmt.Printf("%g", 10.20)
    %G 根据情况选择 %E 或 %f 以产生更紧凑的(无末尾的0)输出 fmt.Printf("%G", 10.20+2i)

     字符串与字节切片

    占位符说明举例
    %s 输出字符串表示(string类型或[]byte) fmt.Printf("%s", []byte("oldboy"))
    %10s 输出字符串最小宽度为10(右对齐) fmt.Printf("%10s", "oldboy")
    %-10s 输出字符串最小宽度为10(左对齐) fmt.Printf("%-10s", "oldboy")
    %.5s 输出字符串最大宽度为5 fmt.Printf("%.5s", "oldboy")
    %5.10s 输出字符串最小宽度为5,最大宽度为10 fmt.Printf("%5.10s", "oldboy")
    %-5.10s 输出字符串最小宽度为5,最大宽度为10(左对齐) fmt.Printf("%-5.10s", "oldboy")
    %5.3s 输出字符串宽度为5,如果原字符串宽度大于3,则截断 fmt.Printf("%5.3s", "oldboy")
    %010s 如果宽度小于10,就会在字符串前面补零 fmt.Printf("%010s", "oldboy")
    %q 双引号围绕的字符串,由Go语法安全地转义 fmt.Printf("%q", "oldboy")
    %x 十六进制,小写字母,每字节两个字符 fmt.Printf("%x", "oldboy")
    %X 十六进制,大写字母,每字节两个字符 fmt.Printf("%X", "oldboy")

    指针

    占位符说明举例
    %p 十六进制表示,前缀 0x fmt.Printf("%p", &site)
    %#p 不带前缀 0x fmt.Printf("%#p", &site)
  • 相关阅读:
    (8)Normalization
    (7)Drop out/Drop block
    (6)data augmentation——遮挡
    (5)label smooth
    (4)Focal loss
    (3)data augmentation——pixel-wise
    ostringstream 性能测试
    CPU & 多线程
    PC 常备软件(windows)
    编译器前端简介
  • 原文地址:https://www.cnblogs.com/jiangchunsheng/p/10725053.html
Copyright © 2020-2023  润新知