Heim >Backend-Entwicklung >Golang >func (*TCPConn) liest den aktualisierten Bytewert, auch wenn das Argument kein Zeiger ist

func (*TCPConn) liest den aktualisierten Bytewert, auch wenn das Argument kein Zeiger ist

王林
王林nach vorne
2024-02-06 09:20:03465Durchsuche

func (*TCPConn) 读取更新字节值,即使参数不是指针

Frageninhalt

Mein Verständnis von Golang-Methoden-/Funktionsparametern ist, dass sie über call by value funktionieren. Aber ich bin auf diesen Methodenaufruf func (c *TCPCConn) Read(b []byte) (int, error) gestoßen, bei dem der Parameter ein Nichtzeiger ist, aber den Variablenwert im Aufrufer aktualisiert. Ich glaube, ich übersehe etwas. Bitte helfen Sie, diesen Fall zu verstehen. call by value来工作。但我遇到了这个方法调用 func (c *TCPConn) Read(b []byte) (int, error) ,其中参数是非指针,但它更新调用者中的变量值。我想我错过了一些东西。请帮助理解这个案例。


正确答案


这取决于该参数的类型。 []byte

Richtige Antwort

Das hängt von der Art des Parameters ab. []byte ist ein Slice, und Slices sind eigentlich wie Zeiger. Auch Karten sind Zeiger. Berücksichtigen Sie dies also, wenn Sie Slices und Karten in Funktionen verwenden.

🎜https://www.php.cn/link/5d9e4a04afb9f3608ccc76c1ffa7573e🎜:🎜

Das obige ist der detaillierte Inhalt vonfunc (*TCPConn) liest den aktualisierten Bytewert, auch wenn das Argument kein Zeiger ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen