[Swift] L'histoire qui change est souvent utilisée pour le jugement d'énumération

Avez-vous des doutes quant à savoir s'il faut écrire avec une instruction if ou une instruction switch? Pour être honnête, peu importe lequel, mais lors du jugement de cas pour enum J'utilise souvent l'instruction switch.

Juger le cas d'énumération avec switch

Plus précisément, le code est le suivant.

enum Direction {
  case top
  case right
  case bottom
  case left
}

var direction:Direction?
//Par exemple, attribuez le droit à la direction dans une expression ou un traitement conditionnel...
direction = .right

//Juge avec déclaration de commutation
switch direction {
  case .top:
    print("direction = top")
  case .right:
    print("direction = right")
  case .bottom:
    print("direction = bottom")
  case .left:
    print("direction = left")
}

Pourquoi utiliser enum?

En permettant de sélectionner uniquement un motif fixe, Il est utilisé dans le but d'améliorer la maintenabilité et la lisibilité.

Il semble que plus le degré de liberté est élevé, mieux c'est, mais en programmation c'est plutôt Les inconvénients seront plus grands. Un degré de liberté élevé signifie Chacun peut être écrit librement et a tendance à être un code compliqué. En osant mettre des restrictions, vous pouvez assurer l'unité et améliorer la maintenabilité.

Et on dit que l'instruction switch du sujet principal est souvent utilisée dans le jugement d'énum Il ne s'agit que d'une méthode individuelle et elle peut être utilisée sur tous les sites. Ce n'est pas fait, il peut donc être bon de l'utiliser comme référence.

Recommended Posts

[Swift] L'histoire qui change est souvent utilisée pour le jugement d'énumération
[Swift] API utilisée pour les applications qui ont réussi la sélection
L'histoire que link_to est profonde (cause inconnue)
L'histoire que .java est également construite dans Unity 2018
Passez en revue les connaissances de base du rubis souvent oubliées
[Ruby] À quoi sert «!!»?
A quoi sert le constructeur?
L'histoire selon laquelle un modèle n'est pas une "représentation correcte du monde réel" / la nécessité d'un contexte borné
L'histoire de Collectors.groupingBy que je veux garder pour la postérité
cette? WebView (swift) ne fonctionne pas.