Se quiser copiar o código do PIX:
00020126580014BR.GOV.BCB.PIX013643c5f950-535b-4658-b91f-1f1d135fe4105204000053039865802BR5925Antonio Cavalcante de Pau6009SAO PAULO61080540900062070503***6304946B
Aula 19 - Tutorial Golang - Structs
Structs
As
estruturas em
Go, são coleções tipadas de campos.
Elas são úteis para agrupar dados e formar registros.
A
estrutura pessoa, nesse exemplo, possui os campos
nome e
idade.
type person struct {
name string
age int
}
A função
newPerson() mostrada abaixo, constrói uma nova estrutura pessoa com os dados.
func newPerson(name string) *person {
p := person{name: "Toti"}
p.age = 52
return &p
}
Você pode retornar com segurança um ponteiro para a variável local, pois uma variável local sobreviverá ao escopo da função.
Você pode nomear os campos ao inicializar uma estrutura.
fmt.Println(person{"Ana", 20})
fmt.Println(person{name: "Alice", age: 30})
Os campos omitidos terão valor zero.
fmt.Println(person{name: "Fred"})
O prefixo
& produz um ponteiro para a estrutura.
fmt.Println(&person{name: "Carlos", age: 40})
É idiomático encapsular a criação de uma nova estrutura em funções construtoras.
Então, vamos usar a função que criamos lá em cima, a
newPerson().
fmt.Println(newPerson("Paulo"))
Acesse os campos de estrutura com um ponto.
s := person{name: "Nina", age: 50}
fmt.Println(s.name)
Você também pode usar pontos com ponteiros para a estrutura.
Os ponteiros são automaticamente
desreferenciados.
sp := &s
fmt.Println(sp.age)
Estruturas são mutáveis.
sp.age = 51
fmt.Println(sp.age)
Código completo
package main
import "fmt"
type person struct {
name string
age int
}
func newPerson(name string) *person {
p := person{name: "Toti"}
p.age = 53
return &p
}
func main() {
fmt.Println(person{"Ana", 20})
fmt.Println(person{name: "Alice", age: 30})
fmt.Println(person{name: "Fred"})
fmt.Println(&person{name: "Carlos", age: 40})
fmt.Println(newPerson("Paulo"))
s := person{name: "Nina", age: 50}
fmt.Println(s.name)
sp := &s
fmt.Println(sp.age)
sp.age = 51
fmt.Println(sp.age)
}
E pra executar é só entrar na pasta onde tá o arquivo structs.go
go run structs.go
Saída:
{Ana 20}
{Alice 30}
{Fred 0}
&{Carlos 40}
&{Toti 53}
Nina
50
51
É isso pessoal, fico por aqui.
página do Código Fluente no
Facebook
Esse é o link do código fluente no Pinterest
Meus links de afiliados:
Obrigado e bons estudos. ;)