列挙型 (enum) は、直和型 の特殊なケースです。列挙型とは、決まった値のどれかをもつ型で、 それぞれの値には固有の名前がつけられています。Go には言語機能としての 列挙型はありませんが、既存の言語の慣用表現を使えば簡単に実装できます。 |
|
|
|
|
|
列挙型 |
|
|
|
fmt.Stringer
インターフェースを実装することで、 値が多い場合、この実装は面倒になることがあります。その場合は、
stringer ツール
を |
|
|
|
|
|
|
|
transition は、サーバーの状態遷移をエミュレートします。 この関数は、現在の状態を受け取り、新しい状態を返します。 |
|
次の状態を決定するための条件をここでチェックする想定です。 |
|
|
Next example: Struct Embedding.