development-ib-fork/web/06/eigene_loesungen/Aufgabe_02/main.go

56 lines
1020 B
Go

package main
import (
"fmt"
"os"
"strconv"
)
func main() {
if len(os.Args) == 1 {
fmt.Println("Kein Befehl angegeben!")
return
}
if err := ensureFileExists(); err != nil {
fmt.Println("Fehler beim prüfen der Datei:", err)
return
}
switch args := os.Args; args[1] {
case "add", "Add":
if len(args) < 4 {
fmt.Println("Nutzung: add <title> <author>")
return
}
if err := addBook(args[2], args[3]); err != nil {
fmt.Println("Fehler beim Hinzufügen:", err)
}
case "list", "List":
if err := listBooks(); err != nil {
fmt.Println("Fehler beim Auflisten:", err)
}
case "read", "Read":
if len(args) < 3 {
fmt.Println("Nutzung: read <id>")
return
}
convId, err := strconv.Atoi(args[2])
if err != nil || convId <= 0 {
fmt.Println("ID ist keine positive Ganzzahl!")
return
}
if err := markBook(convId); err != nil {
fmt.Println("Fehler beim Markieren:", err)
}
default:
fmt.Println("Unknown command!")
fmt.Println("Nutzung: add|list|read")
}
}