2018-11-30から1日間の記事一覧
タイプアサーション タイプアサーションとは、interfaceを型変換する機能です。 interfaceは中身に何も指定しないことで、「どのような型も受付ける」型を表現できます。 その受付けた型を、「<変数名>.(<型>)」の形でタイプアサーション(型変換)します。 …
interfaceを使うと、持つべきメソッドを指定した型(の様なもの)を宣言することができます。 type Human interface { Say() string // Human interfaceは、引数なしで、string型を返すメソッドSay()を持つ必要がある、と指定 } type Person struct { Name s…
他の言語における継承にあたるものです。 他で定義したtypeを中に取り込んで、新たなtypeを定義することができます。 type Vertex struct { x, y int } type Vertex3D struct { Vertex // 継承 z int } func NewVertex3D(x, y, z int) *Vertex3D { return &V…
Javaなど他言語に存在するコンストラクタは、Goには存在しません。 それでも、オブジェクト指向ライクを実現するための慣習があります。 コンストラクタは、初期化処理ですが、goの場合、typeに関する初期化処理は、 typeで定義したstructの中身の頭文字が、…