70 lines
2.6 KiB
Markdown
70 lines
2.6 KiB
Markdown
# 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`](./pkg/algorithms) anzuschauen,
|
|
z. B. [`pkg/algorithms/search/binary/binary.go`](./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](https://gitforwindows.org) zu installieren, was auch bash mit installiert.
|
|
- [**go**](https://golang.org/dl/) Version **1.17.x**. (Man kann bestimmt bei späteren Releases höhere Versionen benutzen. Man muss lediglich dann in [`go.mod`](./go.mod) die Version hochstellen.)
|
|
|
|
Alle u. s. Befehle sollen in einer Bash-Konsole von diesem Ordner aus ausgeführt werden.
|
|
|
|
## Setup/Kompilieren ##
|
|
|
|
|
|
1. Requirements (Packages) einmalig mittels
|
|
|
|
```bash
|
|
go get $( cat requirements )
|
|
```
|
|
|
|
installieren. Oder man führe den Befehl
|
|
für jede Zeile aus [`requirements`](./requirements) aus,
|
|
</br>
|
|
z. B. `go get github.com/akamensky/argparse@v1.3.1`
|
|
installiert eines der Packages.
|
|
|
|
2. Codetree mittels
|
|
|
|
```bash
|
|
go build -o ads main.go
|
|
```
|
|
|
|
kompilieren.
|
|
</br>
|
|
Statt `-o ads` kann man einen beliebigen Pfad verwenden.
|
|
</br>
|
|
In Unix kann man `-o path/to/folder/ads` verwenden.
|
|
</br>
|
|
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
|
|
|
|
```bash
|
|
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.
|