So bestimmen Sie den Typ einer Variable oder eines Objekts in Go: Ein Leitfaden für Anfänger
Hallo! Ich habe gerade angefangen, Go zu lernen, und habe ein Problem. In anderen Sprachen wie Python oder JavaScript kann ich den Typ einer Variable zur Laufzeit einfach mit type() oder typeof überprüfen. Aber in Go finde ich keinen einfachen Weg, das zu tun.
Hier ist ein Beispiel: Ich schreibe eine Funktion, die interface{} (leeres Interface) akzeptiert und verschiedene Typen unterschiedlich verarbeiten soll. Angenommen, ich habe diesen Code:
```go
package main
import "fmt"
func processData(data interface{}) {
// Wie finde ich heraus, welchen Typ data hat?
fmt.Println("Daten empfangen:", data)
}
func main() {
processData(42)
processData("hello")
processData([]int{1, 2, 3})
}
```
Ich möchte, dass die Funktion processData sich unterschiedlich verhält: wenn es ein int ist — die Zahl ausgeben, wenn ein string — seine Länge, wenn ein slice — die Anzahl der Elemente. Aber ich weiß nicht, wie ich den Typ zur Laufzeit bestimmen kann. Ich habe vom reflect-Paket gehört, aber es scheint kompliziert und, wie man sagt, langsam zu sein. Gibt es einen einfacheren Weg? Oder reflect
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen