Cette fois, je regarderai vaguement la gestion et les types de variables et de constantes tout en comparant comment les écrire avec swift, java et kotlin.
Au moment de la déclaration, ajoutez "let" et "var" en swift, le nom du type de la constante / variable en Java, et "val" et "var" en kotlin.
declaration.swift
let value1 = "HelloWorld" //constant
var value2 = 1 //variable
declaration.Java
final String value1 = "HelloWorld"; //constant
int value2 = 1; //variable
(* Je ne connais pas les constantes de classe cette fois.)
declaration.kt
val value1 = "HelloWorld" //constant
var value2 = 1 //variable
Les principaux points sont la comparaison des types Int, Double, String et Bool. Veuillez noter que certaines parties sont légèrement différentes, comme "int" en Java mais "Int" en kotlin.
type.swift
let num1: Int
let num2: Double
let text: String
let isTrue: Bool
type.Java
final int num1 = 1;
final Double num2 = 0.0;
final String text = "HelloWorld";
final boolean isTrue = true;
type.kt
val num1: Int = 1
val num2: Double = 0.0
val text: String = "HelloWorld"
val isTrue: Boolean = true
Des trois, seul Java ne fonctionne pas avec l'inférence de type. Dans le cas de Java, comme mentionné ci-dessus, si vous ne spécifiez pas le type au moment de la déclaration, vous vous fâcherez, donc il n'y a pas de tour pour l'inférence.
Il existe également une spécification de type dans kotlin. Mais l'inférence de type fonctionne, donc fondamentalement, vous n'avez pas à en être conscient. Si vous avez de l'expérience avec Java, il peut être désagréable de ne pas spécifier le type au moment de la déclaration, mais je pense qu'il est normal de donner la priorité à votre propre confort.
La seule exception est lorsque vous déclarez une pièce à afficher à l'écran si vous ne spécifiez pas le type. Maintenant, j'ai intentionnellement supprimé la spécification de type dans un certain projet. Ensuite, il semble que vous ne puissiez pas comprendre ce qu'est cette queryEditText à la fois, J'étais en colère que le texte de la méthode queryEditText soit "Référence non résolue".
Si vous faites cela avec Xcode, vous serez toujours en colère. Alors, à tout le moins, prenez l'habitude de spécifier le type lors de la déclaration d'une pièce.
Cette fois, à titre d'exemple, examinons la conversion entre le type String et le type Int.
conversion.swift
let value1 = "100"
var value2 = 1
let convert1 = Int(value1)
let convert2 = "\(value2)"
conversion.Java
String value1 = "100";
int value2 = 1;
int convert1 = Integer.parseInt(value1);
String convert2 = String.valueOf(value2);
conversion.kotlin
var value1 = "100"
var value2 = 1
var convert1 = Integer.parseInt(value1)
var convert2 = value2.toString()
En Java, tout a le potentiel d'être nul. Donc, quand j'y ai fait référence, "en fait c'était nul" -> "Nurupo" se produisait souvent, mais kotlin crée un type appelé "type tolérant nul" et n'accepte pas null du tout autre que cela. C'est comme ça que ça va être. Grâce au type tolérant aux valeurs nulles, il empêche les valeurs nulles d'apparaître à des endroits inattendus.
En d'autres termes, c'est presque le même que le type facultatif dans swift. Bien qu'il existe quelques différences de notation, elles peuvent être traitées presque de la même manière.
Introduction à kotlin pour les développeurs iOS ①-Construction de l'environnement Introduction à kotlin pour les développeurs iOS (2) -Création de projet Introduction à kotlin pour les développeurs iOS ③-À propos de gradle Introduction à kotlin pour les développeurs iOS ④-type [Introduction à kotlin pour les développeurs iOS ⑤-XML pratique] (http://qiita.com/parappa1002/items/867c5b30055312e74fdb) [Introduction à kotlin pour les développeurs iOS ⑥-kotlin creation] (http://qiita.com/parappa1002/items/9f898feb4f83e672b384)
Recommended Posts