Aus dem Kurs: Code-Challenges für Go
Mit dem GitHub-Repository und Codespaces arbeiten – Tutorial zu Go
Aus dem Kurs: Code-Challenges für Go
Mit dem GitHub-Repository und Codespaces arbeiten
Wenn Sie die Challenges mit GitHub-Codespaces bearbeiten möchten, dann können Sie einfach mit Ihrem Browser auf das dazugehörige Repository gehen und es dann zuerst in Ihren eigenen GitHub-Account forken. Das machen wir hier zuerst einmal. So, ich forke es hier in meinen Account, kann man alles so lassen, dann gehen wir auf "Create fork". Es dauert jetzt ein wenig. Nun bin ich in der geforkten Version des Repositorys und hier kann ich nun auf Code gehen. Dann gehe ich hier auf Codespaces und sage: "Create Codespace on main". So öffnet sich hier ein neuer Tab. Hier wird jetzt mein Codespace initialisiert. Der Dev-Container, eine Art Docker-Container, wird hier gebaut und eingerichtet basierend auf den Konfigurationswerten, die hier im Repository bereits abgelegt sind, können auch hier währenddessen uns die logs anschauen. Scrollen wir mal hier hoch. Hier sehen wir die entsprechenden Befehle, basiert also auf einem Docker-Container oder einem dockerartigen Image. Dann wird hier der Container erstellt und dann einige Dev-Container-Sachen – das ist alles Teil von Codespaces. Es dauert noch ein bisschen. Es werden hier die einzelnen Layer gebaut. Die Entwicklungsumgebung wird eingerichtet, alle benötigten Tools werden installiert. Und das muss in der Regel nur beim ersten Starten des Codespaces hier so langwierig ausgeführt werden. Danach kann man den Codespace einfach in der fertigen Form immer wieder verwenden. So, wir sehen jetzt hier auf der linken Seite: Wir haben bereits alle Dateien, die hier Teil dieses Repositorys waren, hier vorliegen. Wir können darauf zugreifen, wir sehen hier unsere README, sehen hier auch das go.mod-File. Es handelt sicher hier um ein Go-Projekt. Und es werden auch schon die Extensions hier aktiviert. Es dauert ein bisschen, ein paar Sekunden. Und dann sollten wir gleich so weit sein. Alles wird geladen. Okay, wir sehen hier jetzt schon eine Einblendung. D.h., es wurden automatisch die benötigten Go-Extensions hier in Visual Studio Code aktiviert. Und jetzt testen wir mal, ob wir auch Go-Code ausführen können. Wir gehen hier in die "challenges", und hier ist ein Beispiel-Package "hello". Hier sehen wir eine Datei "hello" mit einer Funktion HelloWorld(). Und wenn alles so funktioniert, wie es sollte, können wir hier sehen – genau, hier ist der Test –, der Test für die HelloWorld-Funktion. Und hier können wir direkt aus unserem Editor heraus nun diesen Test ausführen. Das mache ich hier einfach mal, indem ich hier auf "run test" gehe. Hier, wir sehen nun automatisch, Code wird benutzt, liegt schon vor, kompiliert jetzt das Programm, führt den Test aus. Es dauert hier beim ersten Mal Ausführen ein bisschen. Wir sehen hier auch links: Es werden immer noch weiter Extensions installiert. D.h., er ist noch nicht ganz hoch gefahren, dieser Codespace. Jetzt sehen wir unten weiter, Sachen werden installiert, runtergeladen. Okay, wir sehen aber auch: Der Test hat hier funktioniert. Wir machen einmal noch den Gegentest. Wenn ich jetzt einen anderen Text hier eingebe, "LinkedInLearning", okay, mittlerweile ist hier auch das Syntax-Highlighting aktiviert. Ich habe jetzt hier die Funktion geändert. Schauen wir mal, was hier beim Test passiert. Was würden wir erwarten? Der Test soll jetzt natürlich fehlschlagen. Genau. Wunderbar. Schlägt jetzt fehl, weil unsere Funktion eben nicht mehr "Hello, World!" zurückgibt, sondern "Hello, LinkedInLearning!" Wir machen das mal wieder rückgängig. So. "run test". Alles klar und funktioniert. Und nun viel Spaß und los geht es an die Challenges.