ホームページ  >  記事  >  バックエンド開発  >  Golang ポインタの混乱、関数からポインタを取得してそれを変更関数に渡す方法

Golang ポインタの混乱、関数からポインタを取得してそれを変更関数に渡す方法

WBOY
WBOY転載
2024-02-06 10:39:03580ブラウズ

Golang 指针混淆,如何从函数获取指针,然后传递给修改函数

質問内容

ポインタ変数を渡して後でインスタンスを使うライブラリ(golang walk宣言型)を使いたいのですが埋めてください。

簿記の目的で、参照を返す関数を作成してさらに渡そうとしましたが、元の関数では正しいオブジェクトへの参照を取得できませんでした。

問題を単純化しようとしましたが、セットアップ関数を変更せずに test_ref 構造体内のマップに値の世界を設定する方法をまだ正しく理解できません。

作業コード

リーリー

私の試み

リーリー

テストコード

リーリー

setup 関数に少し変更を加えれば動作させることができますが、ウォーキング ライブラリを更新したくないので、setup 関数をいじらずにこれを行う方法はないかと考えていました。 。

<code>var t *walk.LineEdit
...
                    LineEdit{
                        AssignTo: &t,
                    },
</code>


正解


ここ:

リーリー

返されたのは、変数 p のアドレスです。

これがあなたがやろうとしていることだと思います:

リーリー

上記のコードは、マップに保存されている s のアドレスを返します。それから:### 第823章

これにより、文字列の値が「world」に設定されます。

さらに学習を進めて、次のことを行うことができます:

リーリー

以上がGolang ポインタの混乱、関数からポインタを取得してそれを変更関数に渡す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。