Estructura de datos y algoritmo (implementación de Golang) (7) Una introducción simple a la biblioteca estándar de Golang

~~ Usar biblioteca estándar

1. Evitar reinventar la rueda

El funcionario proporciona muchas bibliotecas para que usemos, que son ruedas empaquetadas, como bolsas fmt, y las usamos muchas veces para imprimir datos.

Podemos ver la implementación dentro de:

package fmt

func Println(a ...interface{}) (n int, err error) {
    return Fprintln(os.Stdout, a...)
}

func Printf(format string, a ...interface{}) (n int, err error) {
    return Fprintf(os.Stdout, format, a...)
}

func Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error) {
    p := newPrinter()
    p.doPrintf(format, a)
    n, err = w.Write(p.buf)
    p.free()
    return
}

func Fprintln(w io.Writer, a ...interface{}) (n int, err error) {
    p := newPrinter()
    p.doPrintln(a)
    n, err = w.Write(p.buf)
    p.free()
    return
}

La función Printlnes imprimir y ajustar directamente, y Printfla función es formatear la salida, como:

    // 打印一行空行
    fmt.Println()

    // 打印 4 5 6
    fmt.Println(4, 5, 6)

    // 占位符 %d 打印数字,\n换行
    fmt.Printf("%d\n", 2)

    // 占位符 %s 打印字符串,\n换行
    fmt.Printf("%s\n", "cat")

    // 占位符 %v或者%#v 打印任何类型,\n换行
    fmt.Printf("%#v,%v\n", "cat", 33)

    // 更多示例
    fmt.Printf("%s,%d,%s,%v,%#v\n", "cat", 2, "3", map[int]string{1: "s"}, map[int]string{1: "s"})

Salida:

4 5 6
2
cat
"cat",33
cat,2,3,map[int]string{1:"s"}

La función Printfusa otra función Fprintf, y Fprintfotros métodos de estructura se llaman dentro de la función .

Para lo que usamos a menudo func Printf(format string, a ...interface{}), pasamos formaty muchas variables a ...interface{}, y podemos imprimir los resultados que queremos en la consola. Tales como:

fmt.Printf("%s,%d,%s,%v,%#v\n", "cat", 2, "3", map[int]string{1: "s"}, map[int]string{1: "s"})

Entre ellos %hay un marcador de posición, lo que significa que las siguientes variables tienen lugar una por una. Las letras minúsculas después de los %smarcadores de posición %dindican el tipo de marcador de posición, el marcador de posición de cadena, el marcador de posición de tipo numérico %vo el %#vmarcador de posición de tipo desconocido. Determinará automáticamente el tipo e imprimirá, además #imprimirá un poco más detallado. Debido a que la impresión no se ajustará, necesitamos usar el \ncarácter de nueva línea para ajustar.

En algún momento, podemos usar bibliotecas oficiales o bibliotecas escritas por otros, después de todo, la reconstrucción de la rueda lleva tiempo.

Al mismo tiempo, si desea mejorar la velocidad de desarrollo IDE, se recomienda instalar , es decir Integrated Development Environment(entorno de desarrollo integrado), como Goland(soporte nativo Golang) o IDEAsoftware (se requiere instalación de complemento).

2. Resumen

Solo aprendimos Golangun subconjunto del idioma. Si desea obtener más detalles, puede dockerabrir el terminal después de la instalación :

# 拉镜像
docker pull hunterhug/gotourzh

# 后台运行
docker run -d -p 9999:9999 hunterhug/gotourzh

Abra el navegador e ingrese: 127.0.0.1:9999 para obtener más información.

El último análisis e implementación del algoritmo se utilizará Golangcomo ejemplo.

Entrada de artículo de serie

Soy la estrella Chen, bienvenido he escrito personalmente estructuras de datos y algoritmos (Golang lograr) , comenzando en el artículo para leer más amigable GitBook .

Publicado 12 artículos originales · elogiado 0 · visitas 92

Supongo que te gusta

Origin blog.csdn.net/m0_46803965/article/details/105595033
Recomendado
Clasificación