美文网首页Go
Go print format

Go print format

作者: JaedenKil | 来源:发表于2019-03-04 16:42 被阅读0次

    Refer to here.

    General:
    %v  the value in a default format
        when printing structs, the plus flag (%+v) adds field names
    %#v a Go-syntax representation of the value
    %T  a Go-syntax representation of the type of the value
    %%  a literal percent sign; consumes no value
    
    Boolean:
    %t  the word true or false
    
    Integer:
    %b  base 2
    %c  the character represented by the corresponding Unicode code point
    %d  base 10
    %o  base 8
    %q  a single-quoted character literal safely escaped with Go syntax.
    %x  base 16, with lower-case letters for a-f
    %X  base 16, with upper-case letters for A-F
    %U  Unicode format: U+1234; same as "U+%04X"
    
    Floating-point and complex constituents:
    %b  decimalless scientific notation with exponent a power of two,
        in the manner of strconv.FormatFloat with the 'b' format,
        e.g. -123456p-78
    %e  scientific notation, e.g. -1.234456e+78
    %E  scientific notation, e.g. -1.234456E+78
    %f  decimal point but no exponent, e.g. 123.456
    %F  synonym for %f
    %g  %e for large exponents, %f otherwise. Precision is discussed below.
    %G  %E for large exponents, %F otherwise
    
    String and slice of bytes (treated equivalently with these verbs):
    %s  the uninterpreted bytes of the string or slice
    %q  a double-quoted string safely escaped with Go syntax
    %x  base 16, lower-case, two characters per byte
    %X  base 16, upper-case, two characters per byte
    
    Slice:
    %p  address of 0th element in base 16 notation, with leading 0x
    
    Pointer:
    %p  base 16 notation, with leading 0x
    The %b, %d, %o, %x and %X verbs also work with pointers,
    formatting the value exactly as if it were an integer.
    
    Other flags:
    +   always print a sign for numeric values;
        guarantee ASCII-only output for %q (%+q)
    -   pad with spaces on the right rather than the left (left-justify the field)
    #   alternate format: add leading 0 for octal (%#o), 0x for hex (%#x);
        0X for hex (%#X); suppress 0x for %p (%#p);
        for %q, print a raw (backquoted) string if strconv.CanBackquote
        returns true;
        always print a decimal point for %e, %E, %f, %F, %g and %G;
        do not remove trailing zeros for %g and %G;
        write e.g. U+0078 'x' if the character is printable for %U (%#U).
    ' ' (space) leave a space for elided sign in numbers (% d);
        put spaces between bytes printing strings or slices in hex (% x, % X)
    0   pad with leading zeros rather than spaces;
        for numbers, this moves the padding after the sign
    

    The default format for %v is:

    bool:                    %t
    int, int8 etc.:          %d
    uint, uint8 etc.:        %d, %#x if printed with %#v
    float32, complex64, etc: %g
    string:                  %s
    chan:                    %p
    pointer:                 %p
    

    相关文章

      网友评论

        本文标题:Go print format

        本文链接:https://www.haomeiwen.com/subject/xmviuqtx.html