Go のパブリック アクセス修飾子とプライベート アクセス修飾子: 大文字と小文字の混同
Delphi または C から Go に移行する場合のルールの理解アクセス修飾子の管理は困難な場合があります。特に混乱を招くのは、パブリック アクセスとプライベート アクセスを示す大文字と小文字の使用です。
アクセス修飾子のルール:
Go では、パブリック アクセスは大文字で表すことによって実現されます。関数または型の名前。たとえば、myFunc という名前のパブリック関数は func MyFunc() と記述されます。
コンテナ クラス例外:
ただし、container/list などのコンテナ クラスを使用する場合は、 、ルールが破られているようです。コンテナータイプ名の List はパブリックアクセスを示すために大文字で書かれていますが、パッケージ名のcontainer/list は小文字で書かれています。この不一致は混乱を招く可能性があります。
説明:
Go では、パッケージは型とは異なります。パッケージ名は、パッケージのコードが存在するファイルとディレクトリを示します。パッケージ名は通常、パッケージ パスの最後の部分と同じですが、常にそうとは限りません。
パッケージのパブリック メンバーには、大文字の型名を使用してアクセスします。この例では、container/list がパッケージ パスで、List がパブリック型名です。小文字のリストはパッケージのエイリアスで、コード内でリストとして参照できるようにします。
したがって、 func GetFactors(value *int64) *list.List {...} および l : = list.New() は両方とも有効です。List はコンテナ/リスト パッケージ内のパブリック型であり、list はそのパッケージのエイリアスであるためです。
以上がGo 関数は大文字の名前でパブリックですが、パッケージは小文字の名前でプライベートになるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。