Junior — Middle
Pode explicar o que são os tipos passados por referência nas linguagens de programação?
sobes.tech IA
Resposta da IA
Nos linguagens de programação, os tipos passados por referência significam que, ao passar uma variável para uma função ou método, não é uma cópia do valor que é passada, mas uma referência (ponteiro) para os dados originais. As alterações dentro da função afetarão o objeto original.
Em Go, os tipos primitivos (int, float, bool) são passados por valor, enquanto tipos complexos, como slices, mapas, ponteiros, canais e interfaces, são passados por referência.
Exemplo de passar um slice por referência:
func modifySlice(s []int) {
s[0] = 100
}
func main() {
nums := []int{1, 2, 3}
modifySlice(nums)
fmt.Println(nums) // Vai imprimir [100 2 3]
}
Aqui, a função recebe uma referência ao slice, portanto, as alterações dentro da função refletem-se no slice original. Isso permite trabalhar eficientemente com grandes estruturas de dados sem cópia.