Às vezes temos dados que são relacionados e que seria melhor encapsula-los em uma só entidade.
Em um jogo de duas dimensões, por exemplo, precisamos de duas variáveis para manter a posição do jogador. No plano cartesiano, definimos o ponto com os valores (x, y)
.
var x int = 48
var y int = 63
No código acima, declaramos duas variáveis de tipo inteiro, x
e y
, com valores 48
e 63
, respectivamente.
Na linguagem Golang, podemos encapsular vários tipos de dados em uma só entidade chamada de struct (estrutura).
Podemos criar uma estrutura da seguinte maneira:
type Posicao struct {
X int
Y int
}
A estrutura acima contém dois campos: X e Y. Ambos são do tipo inteiro. Podemos criar estruturas literais assim:
Posicao{48, 63}
O código acima cria uma struct literal usando 48 para o valor de X e 63 para o valor Y. Note que nesse exemplo a ordem é importante.
Podemos acessar os campos de uma estrutura usando o ponto (.
) depois do nome da variável que mantém a estrutura:
var pos Posicao = Posicao{48, 63}
fmt.Println(pos.X)
fmt.Println(pos.Y)
A saída do programa acima é:
48
63
Para modificar os valores de uma estrutura, basta usar a operação de atribuição assim:
pos.X = 87
O valor de X na estrutura será substituído por 87.
Para aprender mais sobre struct em Golang, assista às aulas do NBK Mundo Tech:
Nos vemos lá!