5. Salida formateada en idioma Go.

1. Salida formateada universal

Para la salida formateada en lenguaje Go, generalmente se usa el paquete fmt. El formato de salida común se muestra en la siguiente tabla:

Formato de salida Contenido de salida
%v El formato de representación predeterminado del valor.
%+v Similar a %v, pero los nombres de los campos se agregarán al generar la estructura
%#v Ir a la representación de sintaxis del valor.
%T Ir a la representación de sintaxis de tipos de valores
package main

import "fmt"

func main() {
	var s string = "ajwlf"
	var z int = 1
	var r rune = '一'

	fmt.Printf("s: %v\n", s)
	fmt.Printf("s: %+v\n", s)
	fmt.Printf("s: %#v\n", s)
	fmt.Printf("s: %T\n", s)

	fmt.Printf("z: %v\n", z)
	fmt.Printf("z: %T\n", z)

	fmt.Printf("r: %v\n", r)
	fmt.Printf("r: %T\n", r)
}


afuera:

s: ajwlf
s: ajwlf
s: "ajwlf"
s: string
z: 1
z: int
r: 19968
r: int32

2.Tipo booleano

Formato de salida Contenido de salida
%t palabra verdadera o falsa
package main
import "fmt"
func main() {
    var flag bool
    fmt.Printf("%T, %t \n", flag, flag)
    flag = true
    fmt.Printf("%T, %t \n", flag, flag)
}

// 结果
bool, false
bool, true

3. tipo entero

Formato de salida Contenido de salida
%b Representado como binario
%C El valor del código Unicode correspondiente a este valor.
%d Expresado como decimal
%8d Significa que la longitud del número entero es 8. Si es menor que 8, agregue un espacio antes del valor, si excede 8, prevalecerá el valor real.
%08d Significa que la longitud del número entero es 8. Si es menor que 8, agregue 0 delante del valor; si excede 8, prevalecerá el valor real.
%o Representado como octal
% q El valor literal del carácter de sintaxis del lenguaje Go correspondiente a este valor está entre comillas simples y se representará mediante un escape seguro cuando sea necesario.
%X Expresado en hexadecimal, use a~f
%X Expresado en hexadecimal, use A~F
%U Representado en formato Unicode: U+1234, equivalente a U+%04X
%pag tipo de puntero
package main
import "fmt"
func main() {
    fmt.Printf("%T, %d \n", 123, 123)
    fmt.Printf("%T, %5d \n", 123, 123)
    fmt.Printf("%T, %05d \n", 123, 123)
    fmt.Printf("%T, %b \n", 123, 123)
    fmt.Printf("%T, %o \n", 123, 123)
    fmt.Printf("%T, %c \n", 97, 97)
    fmt.Printf("%T, %q \n", 97, 97)
    fmt.Printf("%T, %x \n", 123, 123)
    fmt.Printf("%T, %X \n", 123, 123)
    fmt.Printf("%T, %U \n", '一', '一')
}

// 结果
int, 123
int,   123
int, 00123
int, 1111011
int, 173
int, a
int, 'a'
int, 7b
int, 7B
int32, U+4E00

4. Tipo de coma flotante y tipo de número complejo

Formato de salida Contenido de salida
%b Notación científica sin parte decimal y exponente binario, como -123456p-78
%mi (=%.6e) Notación científica con 6 decimales, como -1234.456e+78
%MI Notación científica, como -1234.456E+78
%F (=%.6f) tiene 6 decimales, como 123.456123
%F Equivalente a %f
%gramo Utilice el formato %e o %f según la situación real (obtenga resultados más concisos y precisos)
%GRAMO Utilice el formato %E o %F según la situación real (obtenga resultados más concisos y precisos)
package main
import "fmt"
func main() {
    fmt.Printf("%b \n", 123.123456)
    fmt.Printf("%f \n", 123.1)
    fmt.Printf("%.2f \n", 123.125456)
    fmt.Printf("%e \n", 123.123456)
    fmt.Printf("%E \n", 123.123456)
    fmt.Printf("%.1e \n", 123.123456)
    fmt.Printf("%F \n", 123.123456)
    fmt.Printf("%g \n", 123.123456)
    fmt.Printf("%G \n", 123.123456)
}

// 结果
8664042977533870p-46
123.100000
123.13
1.231235e+02
1.231235E+02
1.2e+02
123.123456
123.123456
123.123456

5. Cadenas y matrices de bytes

Formato de salida Contenido de salida
%s Salida directa de cadena o matriz de bytes
% q El valor literal de la cadena de sintaxis de Go correspondiente a este valor está entre comillas dobles y se escapará de forma segura si es necesario.
%X Cada byte está representado por un número hexadecimal de dos caracteres, usando a~f
%X Cada byte está representado por un número hexadecimal de dos caracteres, usando A~F
package main
import "fmt"
func main() {
    arr := []byte{'x', 'y', 'z', 'z'}
    fmt.Printf("%s \n", "欢迎访问")
    fmt.Printf("%q \n", "欢迎访问")
    fmt.Printf("%x \n", "欢迎访问")
    fmt.Printf("%X \n", "欢迎访问")
    fmt.Printf("%T, %s \n", arr, arr)
    fmt.Printf("%T, %q \n", arr, arr)
    fmt.Printf("%T, %x \n", arr, arr)
    fmt.Printf("%T, %X \n", arr, arr)
}

//
欢迎访问
"欢迎访问"
e6aca2e8bf8ee8aebfe997aee5beaee5ada6e88b91
E6ACA2E8BF8EE8AEBFE997AEE5BEAEE5ADA6E88B91
[]uint8, xyzz
[]uint8, "xyzz"
[]uint8, 78797a7a
[]uint8, 78797A7A 

Supongo que te gusta

Origin blog.csdn.net/qq_40893490/article/details/127770219
Recomendado
Clasificación