技術向上

プログラミングの学び、気になるテクノロジーやビジネストレンドを発信

2018-11-30から1日間の記事一覧

タイプアサーション、switch type【Go】

Go

タイプアサーション タイプアサーションとは、interfaceを型変換する機能です。 interfaceは中身に何も指定しないことで、「どのような型も受付ける」型を表現できます。 その受付けた型を、「<変数名>.(<型>)」の形でタイプアサーション(型変換)します。 …

interface、ダックタイピング【Go】

Go

interfaceを使うと、持つべきメソッドを指定した型(の様なもの)を宣言することができます。 type Human interface { Say() string // Human interfaceは、引数なしで、string型を返すメソッドSay()を持つ必要がある、と指定 } type Person struct { Name s…

embedded【Go】

Go

他の言語における継承にあたるものです。 他で定義したtypeを中に取り込んで、新たなtypeを定義することができます。 type Vertex struct { x, y int } type Vertex3D struct { Vertex // 継承 z int } func NewVertex3D(x, y, z int) *Vertex3D { return &V…

コンストラクタ【Go】

Go

Javaなど他言語に存在するコンストラクタは、Goには存在しません。 それでも、オブジェクト指向ライクを実現するための慣習があります。 コンストラクタは、初期化処理ですが、goの場合、typeに関する初期化処理は、 typeで定義したstructの中身の頭文字が、…