Zum Inhalt

Die Vornamencheck-API per Go abfragen

Selbstverständlich kann man auch aus einer Go-Anwendung heraus die Vornamencheck-API integrieren.

Das entsprechende Beispielprogramm in Go verwendet die HTTP-Bibliothek Resty:

package main

import (
    "fmt"
    "log"
    "os"

    "resty.dev/v3"
)

// APIResponse repräsentiert die JSON-Struktur der API-Antwort
type APIResponse struct {
    Gender     string `json:"gender"`
    Name       string `json:"name"`
    Statistics struct {
        FemaleProbability int `json:"femaleProbability"`
        MaleProbability   int `json:"maleProbability"`
    } `json:"statistics"`
}

// geschlechtAufDeutsch übersetzt das englische Geschlecht in deutsche Bezeichnung
func geschlechtAufDeutsch(gender string) string {
    switch gender {
    case "female":
        return "weiblich"
    case "male":
        return "männlich"
    default:
        return "unbekannt"
    }
}

func main() {
    // Prüfe Kommandozeilenargumente
    if len(os.Args) != 2 {
        log.Fatal("Verwendung: go run main.go VORNAME")
    }
    name := os.Args[1]

    // Erstelle resty Client
    client := resty.New()

    // Führe API-Anfrage durch
    var result APIResponse
    resp, err := client.R().
        SetQueryParam("name", name).
        SetResult(&result).
        Get("https://vornamencheck.de/api/v1/names/gender")

    // Fehlerbehandlung
    if err != nil {
        log.Fatalf("Fehler beim API-Aufruf: %v", err)
    }

    // Prüfe HTTP-Status
    if resp.StatusCode() != 200 {
        log.Fatalf("Unerwarteter HTTP-Status: %d", resp.StatusCode())
    }

    // Gebe Ergebnis formatiert aus
    fmt.Printf("\nErgebnis für den Namen '%s':\n", result.Name)
    fmt.Println("----------------------------------------")
    fmt.Printf("Geschlecht: %s\n", geschlechtAufDeutsch(result.Gender))
    fmt.Printf("Wahrscheinlichkeit weiblich: %d von 10\n", result.Statistics.FemaleProbability)
    fmt.Printf("Wahrscheinlichkeit männlich: %d von 10\n", result.Statistics.MaleProbability)
}

Auch hier erfolgt die Ausgabe wieder in gleicher Form wie bei den Beispielskripten für PowerShell oder Python:

Ergebnis für den Namen 'Petra':
----------------------------------------
Geschlecht: weiblich
Wahrscheinlichkeit weiblich: 10 von 10
Wahrscheinlichkeit männlich: 0 von 10

Feedback / Kontakt

Wenn Sie Fragen oder Anregungen zum Artikel Vornamencheck haben, senden Sie mir bitte eine E-Mail an: vornamencheck+golang@technotes.jakoubek.net