Sobes.tech
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.