MENU
Dart

44. FlutterのenumでIntかStringのvalueを返す

tamappe

今回はDartのenum について深堀りしてみます。
enum 自体は以前に学習しましたが、value をカスタムにしたいと思い調べてみました。

以前の記事

Swift でいうところの

enum Section: Int {
    case first = 1
    case second = 2
    case third = 3
}

こんな感じにenum にcustom な rawValue を与えたかったのですが、
これの実現方法について調べてみました。

こちらを参考にして次のように書くと実現できました。

enum Section {
  Top,
  Relax,
  ActivityMood,
  ShortMovie,
}

_sectionToInt(Section section){
  switch (section) {
    case Section.Top:
      return 0;
    case Section.Relax:
      return 2;
    case Section.ActivityMood:
      return 4;
    case Section.ShortMovie:
      return 6;
    default:
      return 0;
  }
}

他にもいい書き方があるのかもしれませんが一先ずはこれでいきます。
DartもSwift を参考にしてもうちょっと柔軟な書き方ができるといいですね!

ABOUT ME
Tamappe
Tamappe
モバイルアプリエンジニア
都内の会社で働いているモバイルアプリエンジニアのTamappeです。今はiOSとAndroidの両OSを開発しています。使用言語はSwift/Objective-C/Java/Kotlin/Dartです。趣味はポーカーとスプラトゥーン2。最近は、シミュレーションゲームもやっています。
記事URLをコピーしました