Producto añadido correctamente al carrito

Cantidad
Total
Continuar comprando

Realizar pago

Ingeniería

Suscribete a nuestro newsletter

¡Precio rebajado! Programación en Go Ver más grande

Programación en Go

Nuevo

Autor: Mario Macías Lloret
Editorial: Alphaeditorial
Edición: Primera, 2021
Formato: Libro
Rústica, 17x24
246 páginas
Peso: 0,380 Kg
ISBN: 9789587786804

Más detalles


COP$ 49.500

-10%

COP$ 55.000

Ficha técnica

ISBN9789587786804
EdiciónPrimera
AutoresMario Macías Lloret
EditorialAlphaeditorial
FormatoImpreso
Peso380 gramos
Páginas246
Dimensiones17x24
Año2021

Más

Amortizará decenas de veces la adquisición de este libro con el tiempo que ahorrará en búsqueda de documentación y tutoriales en línea

Reseña.

Incremente su cotización profesional con uno de los lenguajes de programación de Google con más empuje de la última década: Go.

Go es el lenguaje presentado por Google en 2009, concebido y diseñado para aumentar la productividad y la calidad de su propio software. Su rapidez y ligereza no obvian las características deseables de todo buen lenguaje de alto nivel: expresividad, limpieza, seguridad y potentes abstracciones que simplifican conceptos que hasta ahora eran sinónimo de complejidad. Todo ello, acompañado por un impresionante conjunto de herramientas gratuitas, han convertido a Go en la elección de grandes proyectos, como Docker o Kubernetes, y a sus programadores, en un solicitado grupo de profesionales.

Este libro le permitirá realizar un recorrido a través de las principales características de Go, en cuanto a sintaxis y funcionalidad, así como:

 

- Conocer las funcionalidades más utilizadas de su inmensa biblioteca estándar.

- Ahondar en la filosofía de su sistema de tipos de datos, que ha contribuido a dar la vuelta al modo en que el software se diseña.

- Crear software que es capaz de aprovechar al máximo los actuales computadores multiprocesador y multinúcleo

- Coordinar y comunicar, con extrema sencillez, miles de procesos que se ejecutan en paralelo

- Empezar rápidamente a crear aplicaciones profesionales, y adquirir sólidas bases sobre servicios web, serialización de datos o conexión a bases de datos, entre otras.

 

No pierda la oportunidad de mejorar su cotización como profesional, a través de un itinerario temático diseñado para facilitar su toma de contacto con el lenguaje y acelerar su profundización en los conceptos más avanzados de Go. Amortizará decenas de veces la adquisición de este libro con el tiempo que ahorrará en la búsqueda de documentación y tutoriales en línea. Este libro le proporciona, ya compilado y pulido, todo el conocimiento que necesita para consolidarse como programador en Go.

Contenido.

Introducción

Acerca de este libro

Organización de este libro

Convenciones de formato

Acerca del autor

 

Capítulo 1. Instalación y uso de Go

1.1 Instalando Go

1.2 Comandos básicos de Go

1.3 Editando su código en Go

1.4 Compilando y ejecutando su primer programa

 

Capítulo 2. Sintaxis básica de Go

2.1 Tipos de datos básicos

2.2 Cadenas de texto. El tipo string

2.3 Definición de variables

2.4 Conversiones explícitas de tipos

2.5 Constantes

2.6 Bases de numeración

2.7 Operadores numéricos

2.8 Operadores numéricos de comparación

2.9 Operadores aplicables al tipo string

2.10 Operadores lógicos con bool

2.11 Operadores lógicos a nivel de bit

2.12 Salida estándar de datos

2.13 Entrada estándar de datos

 

Capítulo 3. Control del flujo

3.1 Bloques condicionales

3.2 Órdenes iterativas (bulces for)

3.3 Contexto y ocultación de variables

 

Capítulo 4. Apuntadores

4.1 Definición de un apuntador

4.2 La referencia a nil

4.3 Apuntando hacia una variable

4.4 Leyendo o modificando el valor

4.5 Valores versus referencias

 

Capítulo 5. Funciones

5.1 Definición e Innovación

5.2 Retorno de valores

5.3 Retorno de múltiples valores

5.4 Retorno de múltiples valores nombrados

5.5 El identificador vacío

5.6 Paso por valor vs. paso por referencia

5.7 Literales de función

5.8 Otras consideraciones

 

Capítulo 6. Estructuras de datos lineales

6.1 Vectores

6.2 Porciones

6.3 Declarando variables a porciones

6.4 Añadir elementos a una porción. Función append

6.5 Medir dimensiones con len y cap

6.6 Controlar el tamaño inicial con make

6.7 Copia de porciones con copy

6.8 Uso de porciones en funciones

6.9 Recorriendo vectores y porciones

6.10 Creando “vistas” desde las porciones

6.11 Funciones con número variable de argumentos

6.12 El operador difusor

 

Capítulo 7. Cadenas de texto

7.1 Diferencias con porciones y vectores

7.2 Obteniendo la longitud de un string

7.3 De string a porción

7.4 Construcción dinámica de cadenas

 

Capítulo 8. Diccionarios (MAPAS)

8.1 Declaración de mapas

8.2 Acceso a elementos

8.3 Eliminando entradas con delete

8.4 Recorriendo mapas con range

8.5 Contando el número de elementos

8.6 Conjuntos

8.7 Detalles internos de map

 

Capítulo 9. Organización de código

Paquetes y módulos

9.1 Paquetes (package)

9.2 Módulos

9.3 Creando módulos y paquetes

9.4 Importando paquetes del módulo local

9.5 Incorporando paquetes de módulos externos

9.6 Copias locales de módulos. El directorio vendor

9.7 Elementos públicos y privados a nivel de paquete

9.8 Alias de paquete

9.9 La función init

 

Capítulo 10. Definición de tipos de datos

10.1 Tipos a partir de porciones

10.2 Tipos a partir de mapas

10.3 Tipos funcionales

10.4 Receptores de función. Métodos

10.5 Tipos pseudonumerados

10.6 Caso de estudio: time.Duration

 

Capítulo 11. Tipos de datos estructurados

Struct

11.1 Tipos de datos estructurados: struct

11.2 Punteros a struct

11.3 Receptores de función y creación de métodos

11.4 Incrustado de estructuras

11.5 La estructura vacía: struct { }

11.6 Caso práctico: opciones funcionales como alternativa a constructores

 

Capítulo 12. Interfaces

12.1 Caso de estudio: la interfaz Stringer

12.2 La filosofía del tipado estructural

12.3 Implementando interfaces: receptores ¿mediante apuntadores o mediante valores?

12.4 La interfaz vacía interface { }

12.5 Manejo seguro de tipos de datos

12.6 Incrustando interfaces

 

Capítulo 13. Gestión de errores

13.1 La interfaz error

13.2 Instanciando errores de manera genérica

13.3 Comprobación de tipos de error

13.4 Envolviendo errores

13.5 Verificando la cadena de errores: errors.As

13.6 defer

13.7 Entrando en pánico

13.8 Función panic

13.9 Función recover

 

Capítulo 14. Entrada y salida

Flujos dedatos

14.1 Interfaces io.Writer e io.Reader

14.2 Archivos de disco

14.3 Entrada y salida formateada

14.4 Paquete bufio

14.5 Paquete ioutil

 

Capítulo 15. Paralelismo y concurrencia

Gorrutinas

15.1 Un poco de historia

15.2 Gorrutinas

15.3 Sincronización mediante sync.WaitGroup

15.4 Problemas de concurrencia: condicione de carrera

15.5 Sincronización mediante sync.Mutex

15.6 Sincronización mediante atomic

15.7 Conclusiones: ¿cuándo y cómo sincronizar gorrutinas?

 

Capítulo 16. Canales

16.1 Creación, uso y cierre

16.2 Canales solo de lectura y de escritura

16.3 Bloqueo en la escritura: canales con o sin búfer

16.4 Iterando canales con for

16.5 Múltiples receptores

16.6 Sincronización mediante canales

16.7 Demultiplexión con select

16.8 Cancelando lecturas después de un tiempo de espera

16.9 Cancelando taras mediante contextos

 

Capítulo 17. Servicios web

17.1 HTTP explicado en 3 minutos

17.2 REST explicado en 3 minutos

17.3 Creación de un servicio HTTP en Go

17.4 Creación de un cliente HTTP en Go

17.5 Ejemplo práctico de servicio REST

 

Capítulo 18. Serialización de datos

18.1 Serialización de tipos Go a JSON

18.2 Deserialización de JSON a tipos Go

18.3 Serializando y deserializando documentos JSON si formato

18.4 Serialización de porciones y arrays

18.5 Serialización y deserialización en otros formatos

 

Capítulo 19. Conexión a bases de datos SQL

19.1 Carga de controlador

19.2 Abriendo una base de datos

19.3 Modificando la base de datos

19.4 Consultando datos

19.5 Declaraciones preparadas

19.6 Transacciones

19.7 Reserva de conexiones

 

Capítulo 20. Pruebas automatizadas de software

20.1 Código a probar: la función Factorial

20.2 El paquete testing

20.3 Probando servicios HTTP

20.4 Pruebas de rendimiento

20.5 Cobertura de las pruebas