[Pular para o conteúdo principal](#main-content)

[![Logo Bendev](/images/logo-branco.png)](/)

-   [Trabalhos](/projetos)
-   [Sobre](/sobre)
-   [Escrita](/blog)
-   [Aprendizado](/learning)
-   [Referência](/reference)
-   [Imprensa](/entrevistas)
-   [Contato](/contato)

PTENES

[Referência](/reference) / Go

Documentação de Go

# Literais compostos em Go

Como construir valores de structs, arrays, slices e maps por expressões literais, inclusive inicializando campos por nome.

Revisado em 2026-11-15

## Criar uma struct com campos nomeados

Um literal composto combina o tipo e os valores iniciais entre chaves. Em uma struct, podemos nomear os campos. A forma nomeada deixa claro o significado dos valores e permite omitir campos, que recebem seus valores zero.

```
account := Account{ID: "a", Balance: 5000}
```

## Obter um ponteiro para o valor

O operador & também pode receber um literal composto. &Account{...} inicializa um valor e produz um ponteiro para ele. Assim, return &TransferService{accounts: accounts} retorna \*TransferService sem declarar uma variável temporária.

A função NewTransferService é uma convenção comum. Não é necessária para instanciar uma struct; pode encapsular validação ou preparação de dependências.

```
func NewTransferService(accounts AccountRepository) *TransferService {
    return &TransferService{accounts: accounts}
}
```

## Fontes primárias

-   [Go Language Specification — Composite literals](https://go.dev/ref/spec#Composite_literals)
-   [Go Language Specification — Address operators](https://go.dev/ref/spec#Address_operators)
-   [Effective Go — Allocation with new](https://go.dev/doc/effective_go#allocation_new)

## Relacionado

-   [Etapa do caso de uso](/learning/aprendendo-hexagonal-em-go#etapa-caso-de-uso)
-   [Ponteiros e endereços](/reference/go/pointers)

![Logo Bendev](/images/logo-branco.png)

© 2026 Bendev Junior. Todos os direitos reservados.

### Links Rápidos

-   [Trabalhos](/projetos)
-   [Sobre](/sobre)
-   [Escrita](/blog)
    -   [Livros](/livros)
-   [Imprensa](/entrevistas)
-   [Contato](/contato)

### Redes Sociais

[LinkedIn de Bendev Junior](https://linkedin.com/in/bendevjunior)[GitHub de Bendev Junior](https://github.com/bendevjunior)[Instagram de Bendev Junior](https://instagram.com/bendevoficial)
