Capítulo 16. Aquí haya Dragones: Reflexiona,Inseguro y Cgo

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Los perímetros del mundo conocido dan miedo. Los mapas antiguos rellenaban las zonas inexploradas con dibujos de dragones y leones. En las secciones anteriores, he hecho hincapié en que Go es un lenguaje seguro, con variables tipadas para dejar claro qué tipo de datos estás utilizando y recolección de basura para gestionar la memoria. Incluso los punteros son mansos; no puedes abusar de ellos como en C y C++.

Todas esas cosas son ciertas, y para la inmensa mayoría del código Go que escribirás, puedes estar seguro de que el tiempo de ejecución Go te protegerá. Pero hay trampillas de escape. A veces tus programas Go necesitan aventurarse en áreas menos definidas. En este capítulo, vas a ver cómo manejar situaciones que no pueden resolverse con código Go normal. Por ejemplo, cuando el tipo de los datos no puede determinarse en tiempo de compilación, puedes utilizar el soporte de reflexión del paquete reflect para interactuar con los datos e incluso construirlos. Cuando necesites aprovechar la disposición en memoria de los tipos de datos en Go, puedes utilizar el paquete unsafe. Y si hay una funcionalidad que sólo pueden proporcionar las bibliotecas escritas en C, puedes llamar al código C con cgo.

Quizá te preguntes por qué aparecen estos conceptos avanzados en un libro dirigido a los que se inician en el Go. ...

Get Aprender Go, 2ª Edición now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.