Im Paket "net/http" von Go gibt es eine Schnittstelle mit der Bezeichnung ResponseWriter
. Diese Schnittstelle hat eine Methode namens Header() Header
. Da der Header
Wert, den Header()
zurückgibt, ein Wert und kein Zeiger ist, nahm ich an, dass die Funktion nicht den tatsächlichen Header
Wert zurückgeben würde, der zum ResponseWriter
privaten ist, aber eher eine Kopie.Zurückgeben eines Werts anstelle eines Zeigers in Go
Dies scheint jedoch nicht der Fall zu sein. Die Dokumente für ResponseWriter
zeigen r.Header().Add("key", "value")
als die richtige Methode zum Hinzufügen einer Kopfzeile zu Ihrer HTTP-Antwort.
Ich grub ein wenig tiefer und fand die Definition für die Header
Art. Es ist type Header map[string][]string
. Ich bin hier ein wenig verwirrt. Müssen Sie in diesem Fall keinen Zeiger zurückgeben, um den Wert zu ändern, den ResponseWriter
hat? Wenn ja warum?
Danke für die schnelle Antwort. Scheint korrekt. Ich fand das, was die Sache etwas ausführlicher erklärte. https://groups.google.com/forum/#!topic/golang-nuts/xQUsmdo6oSs –