Usare gli Enum in Rust
In generale gli enum servono per indicare una lista di valori possibili da applicare.
In generale gli enum servono per indicare una lista di valori possibili da applicare.
Le Struct sono strutture dati che ci permettono di avere tipi diversi per ogni item.
La loro implementazione in Rust è simile a quella degli altri linguaggi.
Inoltre è possibile anche creare delle funzioni per le Struct, da richiamare poi nel nostro codice.
Personalmente trovo Swift ancora complicato rispetto ad altri linguaggi; quindi cercherò di essere più chiaro possibile per chi ha le mie stesse difficoltà.
Cominciamo con il dire che i dati li prenderemo da un service remoto e sono in formnato JSON.
Se volete prima studiarvi la struttura del JSON andate a questo indirizzo: https://www.mattepuffo.com/api/book/all.php.
Swift ha una modalità un pò differente rispetto ad altri linguaggi per fare il decode di JSON, in quanto usa molto le Struct.
Oggi vediamo un esempio usando le API SWAPI come test.
Nello specifico useremo questa, che ci da un bell'array di pianeti di Star Wars: https://swapi.co/api/planets/.
Come anche in altri linguaggi, anche Kotlin permette di creare e usare più costruttori.
Questo un esempio di costruttore primario:
class Person constructor(var name: String, var email: String?)
Se non ci sono altri metodi / costruttori, è anche possibile omettere le parentesi graffe.
Vediamo oggi una piccola funzione per calcolare data e ora corrente in C++.
Per farlo ci bastano poche righe di codice e la libreria ctime.
Da questa libreria prenderemo:
Quindi la nostra funzione sarà qualcosa del genere:
#include <iostream>
#include <ctime>using namespace std;
int main() {
time_t currentTime;
time(¤tTime);
cout << asctime(localtime(¤tTime)) << endl;
return 0;
}
Creiamo una variabile di tipo time_t.
Poi con la funzione time() leggiamo l'ora corrente e la salviamo nella varibile currentTime.
Poi stampiamo l'output usando asctime() per trasformare in stringa l'ora corrente che ci viene restituita dal localtime().
L'ouput sarà una tipo questo:
Wed Dec 12 12:59:09 2012
Non molto ben formattato a dire il vero.