Junior — Middle
¿Puede explicar qué son los tipos pasados por referencia en los lenguajes de programación?
sobes.tech AI
Respuesta de la IA
En los lenguajes de programación, los tipos que se pasan por referencia significan que al pasar una variable a una función o método, no se pasa una copia del valor, sino una referencia (puntero) a los datos originales. Los cambios dentro de la función afectarán al objeto original.
En Go, los tipos primitivos (int, float, bool) se pasan por valor, mientras que tipos complejos, como slices, mapas, punteros, canales e interfaces, se pasan por referencia.
Ejemplo de pasar un slice por referencia:
func modifySlice(s []int) {
s[0] = 100
}
func main() {
nums := []int{1, 2, 3}
modifySlice(nums)
fmt.Println(nums) // Imprimirá [100 2 3]
}
Aquí, la función recibe una referencia al slice, por lo que los cambios dentro de la función se reflejan en el slice original. Esto permite trabajar eficientemente con estructuras de datos grandes sin copiar.