Go 语言中的格式化输出

fmt.Printf 中格式化说明符 汇总

%v

%v 代表使用类型的默认输出格式的标识符, 意味着可以使用 %v 打印任何类型,go 语言中的万能格式符所以可以使用 %v 来表示复数

速查表

格式 说明
%d 格式化整数
%0d 用于规定输出定长的整数 其中开头的数字 0 是必须的
%g 格式化浮点型
%n.mg 用于表示数字 n 并精确到小数点后 m 位,除了使用 g 之外,还可以使用 e 或者 f
%f 格式化浮点数
%X, %x 格式化 16 进制表示的数字
%b 位的格式化标识符
%e 科学计数表示法
%t 格式化布尔型
%c 格式化字符
%s 格式化字符串
%U, %u Unicode,格式为 U+hhhh 的字符串
%p 格式化指针
%v 使用类型的默认输出格式的标识符

调试相关格式化说明符

格式 说明
%T 打印某个类型的完整说明
%#v 打印包括字段和限定类型名称在内的实例的完整信息
%+v 打印包括字段在内的实例的完整信息

程序

package main

import "fmt"

func main() {
    //int
    var v1 int = 100
    fmt.Printf("%d \n" , v1)   //  输出 100
    fmt.Printf("%v \n" , v1)   //  输出 100
    fmt.Printf("%05d \n" , v1) // 输出 00100
    //bool
    var v2 bool = false
    fmt.Printf("%t \n", v2)  //输出 fasle
    fmt.Printf("%s \n", v2) // 输出 %!s(bool=false)

    // char
    var ch int  =  '\u0041'
    var ch2 int  =  '\u03B2'
    var ch3 int  =  '\u00101234'
    fmt.Printf("%d - %d - %d.", ch, ch2, ch3)  // integer,输出 65 - 946 - 1053236
    fmt.Printf("%c - %c - %c.", ch, ch2, ch3)  // character,输出 A - β - r
    fmt.Printf("%X - %X - %X.", ch, ch2, ch3)  // UTF-8 bytes,输出 41 - 3B2 - 101234
    fmt.Printf("%U - %U - %U", ch, ch2, ch3)  // UTF-8 code point,输出 U+0041 - U+03B2 - U+101234

     g := func(i int) { fmt.Printf("%d ", i) }
    fmt.Printf(" g is of type %T and has value %v\n", g, g)
    // g is of type func(int) and has value 0x488e90   %T 打印是变量类型(函数), %v  打印的是(函数)地址
}

注意: 单个字符可以是 int8 (byte 别名) , int16 , 或者int, 因为使用空间最大的单个字符编码 Unicode 4个字节就够了 , 所以4字节 int 可以包含所有的编码格式了, ASCII 码 int8 就够了

累了 ,先写这么多吧,

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!