Le comportement de l'opérateur d'affectation est différent. Swift a 5 ans (environnement en ligne pour le moment car il n'y a que Windows)
En étudiant Swift, je me suis demandé: "Est-il possible d'utiliser Java comme opérateur d'affectation avec Swift?"
Test1.java
try {
final File file = new File("src\\test.txt");
try (final BufferedReader reader = new BufferedReader(new FileReader(file))) {
String str;
while((str = reader.readLine()) != null) {
System.out.println(str);
}
}
} catch (IOException e) {
e.printStackTrace();
}
Dans la partie de (str = reader.readLine ())! = Null
, le résultat de la lecture d'une ligne est affecté à str.
Étant donné que l'opérateur d'affectation renvoie la valeur affectée, c'est-à-dire que la chaîne de caractères résultant de la lecture d'une ligne est comparée à null.
C'est plus simple,
Test2.java
int a = 1;
int b = a = 2;
Cela affecte 2 à a, puis a = 2 renvoie la valeur affectée. En d'autres termes, b contient 2.
Alors je l'ai essayé avec Swift.
test1.swift
var a = 10
var b = a = 10
print(a)
print(b)
Puis.
10
()
** b est maintenant un tapple. ** ** Est-ce vraiment une tapette? C'est l'heure ...
test1.swift
var a = 10
var b = a = 10
print(b == ())
Puis.
True
** C'était vraiment un tuple. ** ** (Je me suis demandé pourquoi je retournerais le tuple, mais je m'en fichais) J'ai pensé que j'aurais pu le faire sans le savoir, alors j'ai pris note.