json.Unmarshal vs json.NewDecoder.Decode: Was ist der Unterschied in Go?
Hallo zusammen! Ich bin neu in Go und versuche, das JSON-Parsing zu verstehen. Ich sehe, dass es in der Standardbibliothek zwei Möglichkeiten gibt: `json.Unmarshal` und `json.NewDecoder().Decode()`. Beide scheinen dasselbe zu tun – JSON in eine Go-Datenstruktur umzuwandeln. Aber ich verstehe nicht, wann man welche verwenden soll.\n\nZum Beispiel habe ich diesen Code:\n\n```go\ntype User struct {\n Name string `json:"name"`\n Age int `json:"age"`\n}\n\n// Methode 1\ndata := `{"name":"Alice","age":30}`\nvar user1 User\nerr := json.Unmarshal([]byte(data), &user1)\n\n// Methode 2\nreader := strings.NewReader(data)\nvar user2 User\nerr = json.NewDecoder(reader).Decode(&user2)\n```\n\nBeide Varianten funktionieren gleich. Aber ich habe gehört, dass `Decoder` besser für Streams ist und `Unmarshal` für kleine Datenmengen. Was ist der tatsächliche Unterschied? Gibt es einen Unters