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