‫Willkommen zurück.
‫In diesem Video werden wir uns mit Romanen befassen und Romane sind ein Konzept, das Sie in anderen Programmiersprachen
‫sehen.
‫Swift verwendet sie beispielsweise recht umfangreich und dort werden sie als optional bezeichnet.
‫Es handelt sich also um Variablen, die einen Wert haben können oder keinen Wert haben.
‫Es gibt also zwei Möglichkeiten, richtig.
‫Entweder hat etwas einen Wert oder keinen Wert, und normalerweise ist das jetzt oder nicht.
‫Lassen Sie uns also einige erstellen.
‫Übrigens ist es ein Datentyp, sodass der Datentyp leer sein kann oder nicht.
‫Und normalerweise ist das wie nullable, wie Sie hier sehen können, und zum Beispiel nullable vom Typ INT 32.
‫So schreiben Sie im Allgemeinen, wie Sie es schreiben würden.
‫Das wäre ein Nullable in 32.
‫Also ein Wert, der Werte von minus zwei Milliarden haben kann, ungefähr bis plus zwei Milliarden.
‫Lassen Sie uns also weitermachen und sie erstellen.
‫Um einen Roman zu erstellen, fügen Sie einfach ein Fragezeichen nach diesem Datentyp hinzu.
‫Wenn Sie also, wie ich gerade geschrieben habe, eine ganze Zahl haben möchten, die null zulässt, verwenden Sie einfach ein Fragezeichen,
‫und ich rufe diese Nummer eins an und sie wird null.
‫Lassen Sie uns eine andere erstellen, die ich Nummer zwei anrufe und die zu null sagte.
‫Und wie Sie sehen, erhalten wir hier einen Fehler.
‫Es beschwert sich also.
‫Es sagt, dass Wort jetzt nicht in INT konvertiert werden kann, da es kein oder kein Nullable-Werttyp ist.
‫Sie können einer Ganzzahl also nicht null zuweisen.
‫Das ist, was Sie sagen, siehe hier.
‫Aber Sie können null einer nullbaren Ganzzahl zuweisen, was wir in Zeile neun getan haben.
‫Gut.
‫Also lasst uns ein weiteres erschaffen und das wird die Nummer zwei sein und es wird eins drei drei sieben eintausend
‫dreihundert siebenunddreißig sein.
‫So würden Sie vorgehen und ein Album erstellen.
‫Wenn Sie sehen, dass es entweder null ist oder einen Wert hat.
‫Das gleiche gilt für Doppel.
‫Also doppeltes Fragezeichen.
‫Nummer drei ist ein neues Double und so ein Fragezeichen.
‫So können Sie auch ein nullables Double zuweisen.
‫Dieser wird also leer sein oder hier ist Nummer vier drei Komma eins vier eins fünf sieben.
‫Das ist also PI und das gleiche gilt für Boolesche Werte.
‫Es ist also ein nullable bu und ich werde sagen, Movil ist ein neues
‫boolisches Fragezeichen wie dieses.
‫Schauen wir uns das an, zeigen wir es einfach auf dem Bildschirm an und sehen wir, was wir bekommen.
‫Also s. W. , unsere Nullable-Zahlen sind und wir werden null eins verwenden.
‫Zwei und drei, und das wird Nummer eins sein, Nummer zwei, drei und vier, und natürlich beschwert es sich, weil ich hier
‫meine Schnur beenden muss.
‫Gut.
‫Und lassen Sie uns auch unseren Stier ausstellen.
‫Also, s. W. , der nullable boolesche Wert ist und der bull volle okeydokey.
‫Versuchen wir es mit der Kontrolle fünf.
‫Und unsere Nullable-Zahlen sind, wie Sie sehen können, nichts.
‫Es ist also nicht einmal ein leerer Raum.
‫Es ist einfach nichts.
‫Eins drei drei sieben nichts und drei eins vier eins fünf sieben.
‫Und der nullable boolesche Wert ist nichts.
‫Wie Sie sehen können, kann es nichts sein und es ist nicht zu beschweren.
‫Auch wenn kein Wert drin ist, ist es immer noch in Ordnung.
‫Es stürzt unser Programm nicht ab oder so.
‫Wenn Sie versuchen, dasselbe mit einer Ganzzahl zu tun, die nicht verformbar ist.
‫Erstellen wir also eine ganze Zahl namens Nummer fünf und machen wir es einfach so.
‫Also haben wir es nicht initialisiert.
‫Und leer ist es auch, oder?
‫Es ist also kein Wert drin.
‫Wenn ich versucht habe, so darauf zuzugreifen, und ich werde hier Nummer fünf verwenden, schütteln wir das aus.
‫Kontrolle über fünf.
‫Und wie Sie sehen können, haben wir einen Build-Fehler.
‫Wir können also nicht einmal damit aufhören, weil es besagt, dass die nicht zugewiesene lokale Variable Nummer fünf verwendet wird.
‫Das ist also der springende Punkt.
‫Sie erstellen eine Variable, die leer sein kann oder nicht leer sein darf.
‫Und das ist mit dem Programm völlig in Ordnung.
‫Es wird nicht abstürzen.
‫Und warum würden Sie das verwenden, was wäre die Idee hinter Nullable?
‫Stellen Sie sich vor, Sie haben ein Programm, das mit vielen Daten arbeitet, also Benutzerdaten hat und sie aus der Datenbank
‫holt.
‫Und für manche Werte oder für manche Spalten gibt es einfach keine Einträge.
‫Sagen wir, wir haben Benutzernamen, wir haben den persönlichen Namen oder Vornamen, den Nachnamen, dann haben wir Geburtstag und so
‫weiter.
‫Alle diese Informationen können in unserer Datenbank gespeichert werden.
‫Aber für die meisten Benutzer haben wir nur den Benutzernamen.
‫Wir haben nicht ihren Vornamen, Nachnamen, wir haben nicht das Passwort, ihre E-Mail-Adresse, nichts dergleichen.
‫Wir haben nur den Benutzernamen und möchten trotzdem, dass unser Programm korrekt funktioniert.
‫Wir werden also nur Vielfache verwenden, die in Ordnung sind.
‫Wenn es keinen Wert gibt, werden sie unser Programm nicht zu Kresh machen.
‫Machen wir also ein sehr, sehr allgemeines Beispiel dafür.
‫Und ich werde hier einen Bool verwenden, der ein sachkundiger ist, und ich werde es als E-Mail bezeichnen und ich werde es auf
‫null setzen, und hier werde ich nur auf E-Mail überprüfen.
‫Ist es null oder ist es tatsächlich wahr.
‫Also wenn es stimmt.
‫Korrekt.
‫Etwas wie Benutzer ist E-Mail, sonst, wenn E-Mail falsch ist, werde ich sagen, dass Benutzer weiblich ist.
‫Und schließlich sagen wir einfach so etwas wie kein Geschlecht gewählt oder vielleicht so etwas wie kein Geschlecht gefunden werden konnte oder
‫so ähnlich.
‫Und das sind wir.
‫Jetzt können Sie also fortfahren und diese Art von Ansatz verwenden.
‫Rechts.
‫Und wir werden es in die nächste Zeile einfügen.
‫Und wenn wir so gut laufen, wird natürlich kein Geschlecht gewählt, und in meinem Fall wird mein Programm sofort
‫geschlossen, nachdem es das gesagt hat, und ich habe es immer noch.
‫Irgendwo ein Fehler und wie soll ich das herausfinden?
‫Nun, es ist dieser hier.
‫Also habe ich diese vier immer noch in meinem Text und es versucht, darauf zuzugreifen.
‫Aber es fehlt etwas, deshalb funktioniert es nicht.
‫Gut.
‫Jetzt können wir um fünf versuchen, die Kontrolle zu erlangen.
‫Und wir sind unsere Nullable-Zahlen, das ist völlig in Ordnung.
‫Und dann hier, kein Geschlecht gewählt.
‫In Ordnung, das ist alles gut und so, aber was ist, wenn Sie einen Nullable-Typ in einen Nicht-Nullable-Typ konvertieren
‫möchten?
‫Nun, lass uns weitermachen und das versuchen.
‫Lassen Sie uns hier eine Nullable Blase erstellen.
‫Nennen wir die Zahl fünf, und sie wird dreizehn Komma eins sein und dann tatsächlich das Doppelte, nennen wir sie sechs, weil wir
‫hier diese Zahl fünf haben, die wir nie benutzt haben.
‫Aber ich werde es einfach dabei belassen.
‫Es tut niemandem weh.
‫So wird Nummer sieben jetzt sein.
‫Wie konvertiere ich diese also in einen nicht nullbaren Typ?
‫Und ich werde die Zahl Acht erstellen, die ein Nullable Double sein wird.
‫Ist also ein allgemeines Doppel, oder?
‫Es kann nicht jetzt sein, oder wir können ihm nicht null zuweisen.
‫Und jetzt prüfen wir nur, ob Nummer sechs gleich ist, dann ist Nummer acht null Komma null und sonst sagen wir einfach
‫nein.
‫Acht sollte Nummer vier und sechs sechs sein.
‫Aber da haben wir das Problem, denn wie Sie sehen, lassen Sie mich hinzufügen, dass ich es nicht einfach zuordnen kann.
‫Es sagt, dass der Typ Double Questionmark nicht implizit in Double konvertiert werden kann, da eine explizite Konvertierung vorhanden ist.
‫Ich vermisse also eine Besetzung und das ist es, was wir tun müssen.
‫Also müssen wir es in ein Double verwandeln, weil wir wissen müssen, wenn es nicht jetzt ist, dann ist Nummer sechs intern ein
‫Double.
‫Es enthält also doppelte Werte.
‫Also werde ich das einfach verwenden und es der Zahl acht zuweisen, damit wir einfach fortfahren
‫und anzeigen können, dass der Wert von NUM acht neun acht ist.
‫Beginnen wir also mit Kontrolle fünf.
‫Und wie Sie sehen können, ist der Wert von Nummer acht dreizehn Komma eins.
‫Das Casting, die explizite Umsetzung hat also funktioniert.
‫Es gibt jedoch eine schnellere Möglichkeit, dies zu tun, und wie Sie sehen, war dies ein ziemlicher Aufwand.
‫Wir mussten sehen, ob es den jetzt zusammenwachsenden Operator gibt, den wir dafür verwenden können.
‫Wir können also einfach sagen, dass Nummer acht gleich Nummer sechs ist.
‫Fragezeichen, Fragezeichen, acht Komma fünf drei zum Beispiel.
‫Wenn also Nummer sechs leer ist, dann fahren Sie fort und fügen Sie acht Komma fünf drei hinzu oder geben Sie sie ein, und wenn nicht, dann
‫tun Sie etwas anderes.
‫Was ich tun werde, ist, eine weitere Zeile hinzuzufügen und etwas wie der Wert von
‫NUM acht zu schreiben.
‫Und eigentlich ist das nur kopieren, weil wir das zweimal brauchen und ich nicht so viel tippen möchte, damit wir es sind.
‫Versuchen wir es jetzt noch einmal und sehen Sie den Unterschied.
‫Und wie Sie sehen können, ist der Wert für kein Alter dreizehn Komma eins, der Wert von acht ist dreizehn Komma
‫eins und der Wert von acht ist acht Komma fünf drei.
‫Was ist hier also passiert?
‫Was wurde hier in Zeile 50 ignoriert?
‫Weil es hieß, gut, es war gut, habe ich ihm acht Komma fünf drei zugewiesen, aber wie es scheint, Nummer
‫sechs.
‫Hatte einen Wert und es wurde so genommen, dass Mama sechs einen Wert hatte, nur dreizehn Komma eins und da NUM sieben keinen Wert hatte, ist
‫jetzt keiner acht Komma fünf drei, denn wenn wir uns das jetzt ansehen, sieben ist
‫Null.
‫Also weisen wir ihm einen anderen Wert zu.
‫Das heißt also.
‫Ich gehe einfach.
‫Kopieren Sie es für Sie, den jetzt zusammenwachsenden Operator, doppeltes Fragezeichen.
‫Wenn Sie also von einem ankündigenbaren in einen nicht nullbaren Typ konvertieren möchten, können Sie den Tindell-Koaleszenz-Operator
‫verwenden.