プライベート フィールドとメソッドを Go 構造体にカプセル化する
Go では、構造体内のフィールドとメソッドの可視性は最初の構造体によって制御されます。彼らの名前の特徴。大文字で始まるフィールドとメソッドはパッケージからエクスポートされ、外部コードからアクセスできます。逆に、小文字で始まるものはパッケージに対してプライベートです。
構造体内の特定のフィールドおよびメソッドへのアクセスを制限するには、構造体とそのメンバー関数を別のパッケージに配置します。こうすることで、パッケージ内で定義された型のみがプライベート メンバーにアクセスできるようになります。
たとえば、提供された例では、mytype struct の新しいパッケージを作成できます:
// mytype.go // Define the mytype struct with private fields and methods. package mytype type mytype struct { size string hash uint32 } func (r *mytype) doPrivate() string { return r.size }
mytype パッケージが他のパッケージをインポートしない限り、フィールドのサイズとハッシュ、およびメソッド doPrivate は mytype に対してプライベートのままであり、パッケージの外部からアクセスできません。
以上がGo 構造体内でフィールドとメソッドをプライベートにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。