Puoi spiegare cosa sono i tipi passati per riferimento nei linguaggi di programmazione?
sobes.tech AI
Risposta dell'AI
Nei linguaggi di programmazione, i tipi passati per riferimento significano che, quando si passa una variabile a una funzione o metodo, non viene passata una copia del valore, ma un riferimento (puntatore) ai dati originali. Le modifiche all’interno della funzione influenzeranno l’oggetto originale.
In Go, i tipi primitivi (int, float, bool) vengono passati per valore, mentre tipi complessi come slice, mappe, puntatori, canali e interfacce vengono passati per riferimento.
Esempio di passaggio di un slice per riferimento:
func modifySlice(s []int) {
s[0] = 100
}
func main() {
nums := []int{1, 2, 3}
modifySlice(nums)
fmt.Println(nums) // Stampa [100 2 3]
}
Qui, la funzione riceve un riferimento al slice, quindi le modifiche all’interno della funzione si riflettono sul slice originale. Questo permette di lavorare in modo efficiente con grandi strutture di dati senza copiare.