はじめに 12/1から3日連続で、Go初心者向けのやさしい記事を公開しています。 今日のテーマは委譲です。 「Goには継承がないけど委譲があるよ。」と言われて、「委譲って何?!」と思われた人向けに、なるべく簡潔に分かりやすくまとめました。 インターフェースの基本理解が必要なため、自信のない方は前日のアドベントカレンダーに投稿した【Go初心者向けのやさしい記事】Goのインターフェースを10分で学ぼうを見てください。 委譲と埋め込み 委譲とは 委譲とは、ある構造体やインターフェースの機能を別の構造体やインターフェースでも使えるようにする手法です。 メソッドやフィールドの再利用性を高めます。 Goにはクラスが存在せず、構造体がクラスに似た働きをしています。 しかしながら、構造体はクラスではないため継承ができません。 代わりに、「埋め込み」を利用して委譲ができます。 埋め込みとは、別の構造体やイン
![【Goのやさしい記事】埋め込みによる委譲を5分で学ぼう - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/47773d416a8adb8d23a020081b69de905405c57e/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-7940cd1c8db80a7ec40711d90f43539e.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUUzJTgwJTkwR28lRTMlODElQUUlRTMlODIlODQlRTMlODElOTUlRTMlODElOTclRTMlODElODQlRTglQTglOTglRTQlQkElOEIlRTMlODAlOTElRTUlOUYlOEIlRTMlODIlODElRTglQkUlQkMlRTMlODElQkYlRTMlODElQUIlRTMlODIlODglRTMlODIlOEIlRTUlQTclOTQlRTglQUQlQjIlRTMlODIlOTI1JUU1JTg4JTg2JUUzJTgxJUE3JUU1JUFEJUE2JUUzJTgxJUJDJUUzJTgxJTg2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMzQTNDM0MmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz1jYjYzMDhkMWRmNmE3YzdjNTcxNGVjNTliNDg1M2E5MQ%26mark-x%3D120%26mark-y%3D96%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9OTcyJnR4dD0lNDBnb2xkLWtvdSZ0eHQtY29sb3I9JTIzM0EzQzNDJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9MGYzZmM2MjEzZjFmOGYwMTIyNTljOWI2ODgwOWIxNjI%26blend-x%3D120%26blend-y%3D445%26blend-mode%3Dnormal%26txt64%3DaW4g5qCq5byP5Lya56S-Wk9aTw%26txt-width%3D972%26txt-clip%3Dend%252Cellipsis%26txt-color%3D%25233A3C3C%26txt-font%3DHiragino%2520Sans%2520W6%26txt-size%3D36%26txt-x%3D134%26txt-y%3D546%26s%3Dbadb99a91bfc71974ee3e6c81936a54e)