Shota-Yukawa / AddresserHouse-Auth

0 stars 0 forks source link

go言語の勉強(Udemy)セッション11:構造体 #7

Closed Shota-Yukawa closed 9 months ago

Shota-Yukawa commented 9 months ago

structメソッド javaとは違い、構造体のレシーバー(javaではインスタンスメソッド)では、レシーバーの宣言の引数をポインタにするかしないかで、参照渡しかそうでないかをレシーバー側で定義できる。 レシーバーを実行する際は、インスタンス(user.func())のuser部分)がstruct型?でもポインタ型でも、レシーバーの宣言自体で判定されるため、呼び出し元ではポインタかどうかを考慮しなくて良い。 基本的に、go は参照渡しか値渡しかを明示的に宣言できるので、javaのように暗黙的にならない。 (構造体は基本値渡し。参照型は参照渡しである前提)

Shota-Yukawa commented 9 months ago

デフォルトでコンストラクタはないが、それっぽいのをよく作る。 フレームワークとかライブラリで勝手に作ってくれるのありそう

Shota-Yukawa commented 9 months ago

typeはあくまで、型を作成する予約後。構造体でも使っているだけ。