ads1_2021/code/golang
RLogik 18ece75b67 master > master: code - minor 2021-11-08 13:21:03 +01:00
..
assets master > master: assets - VERSION 2021-11-06 18:15:10 +01:00
internal master > master: code - umgang mit cli args vereinheitlicht 2021-11-07 18:17:31 +01:00
pkg master > master: code - minor 2021-11-08 13:21:03 +01:00
.gitignore master > master: .gitignore 2021-11-06 18:14:58 +01:00
Makefile master > master: Makefiles - defaults für Windows leicht angepasst 2021-11-06 20:48:28 +01:00
README.md master > master: README - makefiles 2021-11-06 10:55:53 +01:00
go.mod master > master: code go - requirements aktualisiert 2021-11-05 08:51:38 +01:00
go.sum master > master: code go - go.sum hinzugefügt 2021-11-06 10:53:38 +01:00
main.go master > master: code - umgang mit cli args vereinheitlicht 2021-11-07 18:17:31 +01:00
requirements master > master: code go - requirements + colours 2021-11-04 07:57:25 +01:00

README.md

ADS - Golang-Projekt

Golang ist eine relativ moderne Programmiersprache, die immer populärer wird und viele Vorteile anbietet.

Dieses Projekt ist erneut kein nötiger Bestandteil des Kurses, sondern nur für Wissbegierige gedacht. Zunächst bietet sich an, sich die Algorithmen im Unterordner pkg/algorithms anzuschauen, z. B. pkg/algorithms/search/binary/binary.go für den Binärsuchalgorithmus, ohne irgendetwas installieren zu müssen.

HINWEIS 1: Bei meiner Implementierung kann es zu leichten Abweichungen kommen. Bitte stets an dem Material im VL-Skript sich orientieren. Der Hauptzweck der Code-Projekte besteht darin, dass Wissbegierige die Algorithmen konkret ausprobieren können. Alle theoretischen Aspekte werden jedoch im Skript und in den Übungen ausführlicher erklärt.

Den Code kann man auch durch die u. s. Anweisungen selber austesten.

HINWEIS 2: Während hier die Anweisungen ausführlich sind und klappen sollten, bitte nur auf eigener Gewähr diesen Code benutzen.

Systemvoraussetzungen

  • Bash. Dies kommt mit OSX (Terminal) und Linux. Für Windows-User braucht man git-for-windows zu installieren, was auch bash mit installiert.
  • go Version 1.17.x. (Man kann bestimmt bei späteren Releases höhere Versionen benutzen. Man muss lediglich dann in go.mod die Version hochstellen.)

Alle u. s. Befehle sollen in einer Bash-Konsole von diesem Ordner aus ausgeführt werden.

Einrichten mittels Makefile

Führe jeweils

make setup
make build
make run
# oder für interaktiven Modus
make run-it

aus, um Packages zu installieren bzw. den Code zu kompilieren bzw. den Code auszuführen. Siehe Makefile für Details zu den Vorgängen.

Wer Makefile benutzt kann die u. s. Anweisungen ignorieren.

Setup/Kompilieren

  1. Requirements (Packages) einmalig mittels

    go get $( cat requirements )
    

    installieren. Oder man führe den Befehl für jede Zeile aus requirements aus,
    z. B. go get github.com/akamensky/argparse@v1.3.1 installiert eines der Packages.

  2. Codetree mittels

    go build -o ads main.go
    

    kompilieren.
    Statt -o ads kann man einen beliebigen Pfad verwenden.
    In Unix kann man -o path/to/folder/ads verwenden.
    In Windows kann man -o path/to/folder/ads.exe verwenden.

Ausführung

Nach Kompilieren wird ein Artefakt namens ads gebaut, den man per Doppelklick ausführen kann. Alternativ kann man in der Konsole im Ordner mit dem Artefakt einfach

ads

ausführen.

Entwicklung

Gerne kann man den Code benutzen, in einem eigenen Repository weiter entwickeln, und mit den im Kurs präsentierten Algorithmen und Fällen herumexperimentieren.