Le strutture sono ideali per rappresentare i tipi di valore. Cose come date, intervalli, numeri; roba in cui l'uguaglianza dipende dal valore dell'oggetto piuttosto che dall'istanza dell'oggetto. Sono utili per i messaggi e alcuni altri componenti in un programma concorrente, poiché la semantica della copia rende molto puliti alcuni aspetti di questo tipo di progettazione.
Ma è piuttosto nella loro definizione. In practice , vengono utilizzati più spesso come una mappa per alcuni dati su disco, o da qualche altra fonte esterna poiché è possibile creare delle strutture per avere regole su come sono disposte e impacchettate nella memoria. Quindi, invece di leggere un array di byte e fare il parsing di te stesso, puoi eseguire il marshalling della struttura tutto in una volta, lasciando che il runtime faccia le cose soggette a errori.