私は以下のようにgolangでenumを使用しようとしています。私は一定の値のリストを反復する簡単な方法を見つけるのに苦労しています。列挙型として使用される定数値を反復するgolangの一般的な方法は何ですか?ありがとう!enumとして使用される定数を繰り返し処理する方法があります
type DayOfWeek int
const(
Monday DayOfWeek = iota
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
)
Javaでは、以下のように繰り返すことができます。
public enum DayOfWeek {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
for (DayOfWeek day: DayOfWeek.values()) {
// code logic
}
まず、すべての移動識別子が定数を含む、[MixedCaps方式(https://github.com/golang/go/wiki/CodeReviewComments#mixed-caps)で正常です。あなたは 'for d:= Mondayのような単純なループを行うこともできます。 d日曜日;あなたは明示的に開始/終了値を知っているか、あるいはそれらの別名を追加することができます(例えば 'firstDay = Monday; lastDay = Sunday'のようなもの)。 「レンジ」IMOを使用するものを作ることは、さらに進んでも可能ですが、それは絶対に価値がありません。 –
ところで、「time.Seeay」から「time.Saturday」に至る「time.Weekday」(https://golang.org/pkg/time/#Weekday)がすでにあります。 (もちろん、これは重要ではない任意の例として、曜日を入れただけです)。 –
Dave、ありがとうございます。私は定数の場合を修正しました。私は、平日だけでなく一般的にenumsを探しています。 firstDayとlastDayは私にとって興味深いようです。 constリストに入るべきか、それとも変数の外にあるのでしょうか?ありがとう! –