Junior — Middle
Para que tipos de dados é possível modificar diretamente o seu conteúdo sem usar ponteiros?
sobes.tech IA
Resposta da IA
Em Go, é possível modificar diretamente o conteúdo das variáveis dos seguintes tipos sem usar ponteiros:
- Tipos primitivos:
int,float64,bool,string(embora as strings em Go sejam imutáveis, podem-se atribuir novos valores) - Arrays (se não forem passados por ponteiro)
- Estruturas (se não forem passadas por ponteiro)
Por exemplo, se tiver uma variável do tipo int ou uma estrutura, pode modificar os seus campos ou valor diretamente:
var x int = 10
x = 20 // modificação direta
type Point struct {
X, Y int
}
p := Point{X: 1, Y: 2}
p.X = 5 // modificação direta do campo da estrutura
Ponteiros são necessários quando se deseja alterar o valor de uma variável passada para uma função, ou trabalhar com estruturas grandes sem cópia.