php エディタ Baicao は、参照を通じてインターフェイスの値を変更する方法を紹介します。プログラミングでは、関数やメソッドのパラメータを変更する必要がある場合がありますが、新しい値を直接返すのではなく、参照を通じて元の値を変更したいことがあります。この場合、参照パラメータを使用できます。パラメーターを参照すると、新しい値を返さずに、渡された変数の値を関数内で直接変更できます。このアプローチによりパフォーマンスが向上し、コードがより簡潔で読みやすくなります。次の記事では、参照パラメータを使用してインターフェイスの値を変更する方法について詳しく説明します。
package main import ( "fmt" ) // -------- library code. can't change ------------ type client struct { transport roundtripper } type roundtripper interface { do() } type transport struct{} func (d transport) do() {} var defaulttransport roundtripper = transport{} // -------- my code. can change ------------ func changetransport(r roundtripper) { if r == nil { fmt.println("transport is nil") r = defaulttransport } } func main() { c := client{} changetransport(c.transport) fmt.println(c.transport) }
出力:
リーリー ###期待される:### リーリー ###遊び場###私も https://stackoverflow.com/a/44905592/6740589 に基づいてこれを試しました:
リーリー出力:
リーリーPlayground
Solution
roundtripper 関数パラメータとして使用して、ポインタの値を変更します。
リーリー
リーリー
#########遊び場#########
以上が参照によるインターフェース値の変更の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。