English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans cet article, vous découvrirez Range, type et cas d'utilisation de Swift.
Range (intervalle) est une intervalle de valeurs. Un exemple simple de plage est 0,1Définir une plage de valeurs contenant2Définir une plage de valeurs contenant3Définir une plage de valeurs contenant4Définir une plage de valeurs contenant5Définir une plage de valeurs contenant6Définir une plage de valeurs contenant7Définir une plage de valeurs contenant8Définir une plage de valeurs contenant9car les nombres vont de 0 à9sont continus.
Nous pouvons utiliser les deux opérateurs de portée décrits ci-dessous pour créer rapidement des intervalles :
Il inclut toutes les valeurs de l'intervalle (de lowerbound à upperBound). Il est déclaré en utilisant … (3points) opérateur déclaré.
例如: 1...3 Défini pour inclure des valeurs1,2,3de valeurs
Il inclut toutes les valeurs de l'intervalle (de lowerbound à upperBound), mais pas le dernier (upperBound) nombre. Il est déclaré en utilisant l'opérateur ..<.
例如: 1..<3 en boucle pour imprimer les valeurs de l'intervalle fermé1et2de valeurs
.intervalle fermé (lowerBound ... upperBound)
//1... 3en boucle pour imprimer les valeurs de l'intervalle fermé1Définir une plage de valeurs contenant2et3de valeurs for value in 1...3 { print(value) }
Lorsque le programme est exécuté, la sortie est :
1 2 3
de valeurs1Le exemple ci-dessus crée une plage3à1...3(-) pour la plage de nombres. Nous avons utilisé un for-dans la boucle for pour voir quels valeurs l'intervalle contient. Pour en savoir plus sur le fordans la boucle for pour plus d'informations, veuillez consulter-Swift fordans la boucle for
。-dans la boucle for1) et la valeur maximale (3)。
Les intervalles créés à l'aide de l'opérateur d'intervalle demi-ouvert sont appelés intervalles demi-ouverts. Ils incluent toutes les valeurs de la limite inférieure à la limite supérieure, maisNe comprend pasValeur maximale.
// 1..<3 Définir une plage de valeurs contenant 1,2 for value in 1..<3 { print(value) }
Lorsque le programme est exécuté, la sortie est :
1 2
Dans l'exemple ci-dessus, nous avons utilisé for-en boucle pour voir le fonctionnement de l'intervalle demi-ouvert.
Nous ne pouvons pas imprimer toutes les valeurs, mais nous pouvons clairement voir que l'utilisation de l'opérateur d'intervalle demi-ouvert ne printing que1et2,et ne comprend pas la valeur maximale (c'est-à-dire3)。
Un intervalle unilatéral est un intervalle qui est le plus continu possible dans une direction. Il peut être créé à l'aide de l'opérateur de portée demi-ouverte et de l'opérateur de portée fermée, mais l'opérateur ne peut avoir de valeur que d'un côté.
let range = ..<2 print(range.contains(-1)) print(range.contains(2))
Lorsque le programme est exécuté, la sortie est :
true false
L'exemple ci-dessus utilise l'opérateur d'intervalle demi-ouvert pour créer un intervalle unilatéral contenant moins2de tout nombre.
Pour vérifier nos résultats, nous avons utilisé la méthode contains. Si l'élément est inclus dans l'intervalle, contains retourne true, sinon retourne false.
range.contains(-1) vérifie -1 si elle est incluse dans l'intervalle. Étant donné que la limite supérieure de l'intervalle unilatéral est2 et-1 <2,par conséquent, elle est située à l'intérieur de l'intervalle, et l'instruction print(range.contains(-1)) est affichée comme true sur l'écran.
Mais, en raison de l'utilisation de l'opérateur d'intervalle demi-ouvert, la valeur maximale (2) n'est pas inclus dans l'intervalle. Par conséquent, range.contains(2) retourne false.
let range = 2... print(range.contains(100)) print(range.contains(1))
Lorsque le programme est exécuté, la sortie est :
true false
上面的示例使用封闭区间运算符创建一个单侧区间,该范围包含从2到大于2的任何值的数字。
range.contains(100) 检查100是否在区间内。由于是单侧区间,并且100大于2,因此它位于范围内,并在屏幕上打印输出 true。
但是,它具有下限值(2),因此 range.contains(1) 返回false。
区间的起点必须小于或等于其终点。在我们的示例中 (lowerBound...upperBound) ,下限值必须小于上限值。但是,它可以是负值。
例如:
3...1 // 错误:无法使用upperBound <lowerBound形成Range -3...1 // 这是一个有效区间。Lowerbound/Upperbound 可以包含负值。
我们可以使用for-in循环遍历整个区间(不包括单侧区间)。
我们还可以使用区间运算符访问数组的元素。