Skip to Content
初めてのGo言語 ―他言語プログラマーのためのイディオマティックGo実践ガイド
book

初めてのGo言語 ―他言語プログラマーのためのイディオマティックGo実践ガイド

by Jon Bodner, 武舎 広幸
September 2022
Beginner to intermediate
464 pages
6h 52m
Japanese
O'Reilly Japan, Inc.
Content preview from 初めてのGo言語 ―他言語プログラマーのためのイディオマティックGo実践ガイド

7章型、メソッド、インタフェース

前の章までで見てきたように、Goは組み込みの型とユーザーが定義する型によって、静的に型付けされる言語です。そして、この章で見るように、Go言語ではメソッドを定義し、型と結びつけることができます。さらに、型を「抽象化」する機能もあり、実装を明示的に記述せずにメソッドを呼び出すコードを書くこともできます。

ただし、メソッド、インタフェース、型といったものに対するGoのアプローチは、ほかの言語とは大きく異なっています。Goでは継承(inheritance)ではなく、合成(composition)を推奨しています。これは、ソフトウェア工学における最近の潮流を反映したものです。この章では、型、メソッド、インタフェースについて説明し、それを使ってどのようにテスト可能で保守が容易なプログラムを作っていくのかを説明します。

7.1 Goの型

型(type)やこれに関連する概念について議論するために、まずいくつか用語を定義しておきましょう。

7.1.1 抽象型と具象型

型に関して、抽象型 (abstract type)具象型 (concrete type)という分類があります。抽象型は型が何をするものかを定義しますが、それをどのようにするかは規定しません。つまり、抽象型では実装を提供しません(あるいは不完全な実装しか提供しません)。これに対して具象型は何をどのようにするかを規定します。つまり、データの記憶のされ方を規定した上で、型に付随して定義されるメソッドの実装を提供します。

Go言語で使われるすべての型は、抽象型か具象型のいずれかです。言語によってはハイブリッド型を許容します。たとえばJavaのデフォルトメソッドをもったインタフェースや抽象クラスがこの例です。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

進化的アーキテクチャ ―絶え間ない変化を支える

進化的アーキテクチャ ―絶え間ない変化を支える

Neal Ford, Rebecca Parsons, Patrick Kua, 島田 浩二
スクラム実践者が知るべき97のこと

スクラム実践者が知るべき97のこと

Gunther Verheyen, 吉羽 龍太郎, 原田 騎郎, 永瀬 美穂
仕事ではじめる機械学習 第2版

仕事ではじめる機械学習 第2版

有賀 康顕, 中山 心太, 西林 孝

Publisher Resources

ISBN: 9784814400041Other