Kapitel 16. Here Be Dragons: Nachdenken,unsicher, und Cgo
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Die Kanten der bekannten Welt sind unheimlich. Auf alten Karten wurden die unerforschten Gebiete mit Bildern von Drachen und Löwen ausgefüllt. In den vorangegangenen Abschnitten habe ich betont, dass Go eine sichere Sprache ist, mit typisierten Variablen, die klar machen, welche Art von Daten du verwendest, und einer Speicherbereinigung, um den Speicher zu verwalten. Sogar die Zeiger sind zahm; du kannst sie nicht so missbrauchen, wie es in C und C++ der Fall ist.
All diese Dinge sind wahr, und für die große Mehrheit des Go-Codes, den du schreibst, kannst du sicher sein, dass die Go-Laufzeitumgebung dich schützt. Aber es gibt Ausstiegsluken. Manchmal müssen deine Go-Programme in weniger definierte Bereiche vordringen. In diesem Kapitel erfährst du, wie du mit Situationen umgehst, die sich mit normalem Go-Code nicht lösen lassen. Wenn zum Beispiel der Typ der Daten nicht zur Kompilierzeit bestimmt werden kann, kannst du die Reflection-Unterstützung des Pakets reflect
nutzen, um mit Daten zu interagieren und sie sogar zu konstruieren. Wenn du die Vorteile des Speicherlayouts von Datentypen in Go nutzen musst, kannst du das unsafe
Paket verwenden. Und wenn es Funktionen gibt, die nur von in C geschriebenen Bibliotheken bereitgestellt werden können, kannst du mit cgo
in C-Code aufrufen.
Du fragst ...
Get Go lernen, 2. Auflage 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.