Go での構造体のプライベート フィールドとメソッドのカプセル化
Go では、構造体のフィールドとメソッドの両方を真にカプセル化するには、理解する必要があります。変数のスコープと可視性のルール。
慣例により、識別子で始まります。大文字の付いたファイルはエクスポートされ、宣言パッケージの外部からアクセスできます。逆に、小文字の識別子はパッケージ自体内でのみアクセスできます。
mytype 構造体とその doPrivate メソッドの両方をプライベート化するには、次の手順を実行する必要があります:
結果のコード:
// Package mypkg defines the private mytype struct and its methods. package mypkg type mytype struct { size string hash uint32 } // doPrivate can only be accessed by members of mytype. func (r *mytype) doPrivate() string { return r.size }
今だけmytype 構造体のメンバーは、そのプライベート フィールドとメソッドにアクセスできます。 mypkg パッケージ内の外部型または関数は、これらのプライベート メンバーに直接アクセスできません。
以上がGo 構造体でプライベート フィールドとメソッドをカプセル化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。