(*変数) と *&変数 の違いは何ですか?

王林
リリース: 2024-02-05 21:30:04
転載
1036 人が閲覧しました

(*variable) 和 *&variable 有什么区别?

質問の内容

私は go を学ぶために exercism.com を使用しており、シラバスで推奨されているドキュメントや記事を読んでいます。

今、構造の中に入り、次のコードを見つけます

リーリー

しかし、間違って fmt.println("firstname", *&employee.firstname) と入力してしまい、以前にコード ブロックで使用したのと同じ結果が得られました。

私の質問は、このポインターの使用に違いはありますか、それとも同じですか?


正解


##&x は #xx へのポインタを生成しますが、*p は Pointer を逆参照します###。したがって、*& は効果的に互いに打ち消し合います。たとえば、2 つのステートメント v := *&xv := x は同一です。 これは、*&employee.firstName

employee.firstName と同じであることを意味します。 ここで、employee

は構造体へのポインタ、

firstName は構造体のフィールドであるため、式 employee.firstName は実際には ## 省略形になります。 #(*従業員).名の場合。 これは、*&employee.firstName

(*employee).firstName

と同じであることを意味します。 常に短縮表記を使用することを優先する必要があることに注意してください。

以上が(*変数) と *&変数 の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート