Inizializzare struct
Fa parte della sezione Fondamenti del percorso GO di Coddy. Lezione 98 di 109.
Esistono diversi modi per inizializzare le struct in Go. Esploriamo i metodi più comuni.
Crea una struct con nomi dei campi:
type Person struct {
name string
age int
}
func main() {
// Inizializza con i nomi dei campi
person1 := Person{name: "Alice", age: 30}
fmt.Println(person1)
}L'output mostra la nostra struct inizializzata:
{Alice 30}Puoi anche inizializzare una struct senza nomi dei campi, ma devi fornire i valori nell'ordine corretto:
person2 := Person{"Bob", 25}
fmt.Println(person2)Risultato:
{Bob 25}Crea una struct vuota con valori zero:
person3 := Person{}
fmt.Println(person3)Risultato:
{ 0}Sfida
PrincipianteIn questa sfida, ti eserciterai a inizializzare una struct in Go. Abbiamo definito una struct Person con campi per il nome, l'età e per indicare se la persona è occupata.
Il tuo compito è inizializzare una nuova istanza della struct Person con le seguenti informazioni:
- Nome: "Alice"
- Età: 28
- IsEmployed: true
Poi stamperemo le informazioni su questa persona.
Provalo tu
package main
import "fmt"
// Definizione della struct Person
type Person struct {
Name string
Age int
IsEmployed bool
}
func main() {
// TODO: Inizializza una struct Person con nome "Alice", età 28 e isEmployed true
// Usa i nomi dei campi oppure la sintassi letterale della struct
var alice Person
// Stampa le informazioni della persona
fmt.Printf("Name: %s\n", alice.Name)
fmt.Printf("Age: %d\n", alice.Age)
fmt.Printf("Employed: %t\n", alice.IsEmployed)
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori di confronto e logici
Operatori di confronto - Parte 1Operatori di confronto - Parte 2Operatore AND logicoOperatore OR logicoOperatore NOT logicoNozioni di base sulla precedenza degli operatoriRiepilogo - Eseguire confronti7Flusso di controllo: cicli
Come funziona il ciclo `for`Ciclo `for` - baseCiclo `for` - solo condizioneLa parola chiave `break`La parola chiave `continue`Cicli annidatiRiepilogo - ripetere le azioni10Tipi compositi: array
Introduzione agli arrayDichiarare gli arrayInizializzare gli arrayAccedere agli elementi degli arrayLunghezza degli array con `len`Iterare sugli arrayArray multidimensionali13Tipi compositi: struct
Definire tipi personalizzatiCreare istanze di structAccedere ai campi di structPuntatori a structInizializzare structStruct incorporatiStruct anonimiRiepilogo - Strutture dati personalizzate2Variabili e tipi di dati di base
Che cos'è una variabileInferenza del tipo con `:=`Numeri interi (int)Numeri in virgola mobileValori booleaniStringheValori zeroCostantiConvenzioni di denominazioneRiepilogo: variabili e tipi5Input/output di base
Output formattatoVerbi di formattazioneVisualizzazione dei tipiAcquisire input di base dall’utenteRiepilogo - Input e output8Funzioni
Capire le funzioniDichiarare una funzioneChiamare le funzioniParametri delle funzioniRestituire un singolo valoreRestituire più valoriValori restituiti con nomeFondamenti dell'ambito delle funzioniRiepilogo - Creare codice riutilizzabile3Operatori di base
Operatori aritmeticiOperatore di divisioneL'operatore moduloOperatore di assegnazioneOperatori di assegnazione compostaIncremento e decrementoRiepilogo - Calcoli6Flusso di controllo: condizioni
L'istruzione `if`La parola chiave `else`La parola chiave `else if`Ombreggiamento delle variabili in `if`Inizializzare le variabiliL'istruzione `switch``switch` con espressioni`switch` senza espressioneLa parola chiave `fallthrough`Riepilogo: prendere decisioni9Puntatori
Che cos’è un puntatore?Dichiarare variabili puntatoreL’operatore indirizzoDereferenziare i puntatoriUsare i puntatori nelle funzioniPuntatori nilRipasso - Capire i puntatori12Tipi compositi: mappe
Introduzione alle mappeDichiarare i letterali delle mappeCreare mappe con `make`Aggiungere e aggiornare coppie chiave-valoreAccedere ai valori delle mappeVerificare l'esistenza di una chiaveEliminare elementi dalle mappeLunghezza delle mappeIterare sulle mappeRiepilogo - Archiviazione chiave-valoreEsercitati da solo: Compilatore Go online