67 lines
2.5 KiB
Markdown
67 lines
2.5 KiB
Markdown
|
# ADS - Golang-Projekt #
|
||
|
|
||
|
**Golang** ist einer 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 [`internal/algorithms`](./internal/algorithms) anzuschauen,
|
||
|
z. B. [`internal/algorithms/search/binary/binary.go`](./internal/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.)
|
||
|
|
||
|
## Setup/Kompilieren ##
|
||
|
|
||
|
1. Requirements (Packages) einmalig mittels
|
||
|
|
||
|
```bash
|
||
|
go get $( cat requirement )
|
||
|
```
|
||
|
|
||
|
installieren. Oder man führe den Befehl
|
||
|
für jede Zeil 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.
|