DEV Community

Caio Rodrigues BackEnd Java
Caio Rodrigues BackEnd Java

Posted on

Desbravando Go: Capítulo 2 – Estrutura dos Programas

Continuando nossa jornada com Go, neste capítulo exploraremos como os programas são estruturados, incluindo regras para nomes, declarações e variáveis. Se você está começando, este é um ótimo ponto para entender a base da linguagem! 🚀

Estrutura dos Programas

Nomes em Go

Em Go, nomes como funções, variáveis, constantes, tipos, rótulos de instruções e pacotes seguem algumas regras simples:

  • Devem começar com uma letra ou underline (_).
  • Podem conter letras, números e underlines adicionais.
  • São case-sensitive, ou seja, heapSort e Heapsort são tratados como nomes diferentes.

Visibilidade e Escopo

  • Declarações feitas dentro de funções têm escopo local.
  • Declarações fora de funções são visíveis em todo o pacote.
  • A visibilidade fora do pacote depende da capitalização:
    • Inicia com maiúscula: visível fora do pacote (exemplo: Println do pacote fmt).
    • Inicia com minúscula: visível apenas dentro do pacote.

Por convenção, nomes de pacotes começam sempre com letras minúsculas.


Declarações em Go

Declarações servem para nomear entidades e especificar suas propriedades. Em Go, existem quatro tipos principais:

  • var: Declara variáveis.
  • const: Define constantes.
  • type: Cria tipos personalizados.
  • func: Declara funções.

Exemplo prático:

package main

import "fmt"

const seasonQuantity = 4

func main() {
    var season = seasonQuantity
    fmt.Println("Quantas temporadas tem essa série?")
    fmt.Println(season)
}
Enter fullscreen mode Exit fullscreen mode

Neste código:

  • seasonQuantity e main são declarações no nível do pacote (package-level).
  • season é uma declaração local, válida apenas dentro da função main.

Variáveis em Go

Declaração com var

A declaração var permite criar variáveis, definir seus tipos e atribuir valores iniciais. A sintaxe geral é:

var nome tipo = valor

  • Tipo ou valor podem ser omitidos, mas não ambos.
  • Se o valor inicial não for especificado, um valor padrão será atribuído:
    • 0 para números.
    • false para booleanos.
    • "" (string vazia) para strings.
    • nil para tipos de referência ou interface.

Exemplo:

var s string
fmt.Println(s) // Saída: "" (string vazia)
Enter fullscreen mode Exit fullscreen mode

Declarações múltiplas

Você pode declarar várias variáveis em uma única instrução:

var i, n, quantidade int // Três variáveis do tipo int
var b, s, index = true, "Siga o blog", 1 // Tipos diferentes, valores atribuídos
Enter fullscreen mode Exit fullscreen mode

Declaração curta de variáveis

Dentro de funções, existe uma forma mais concisa de declarar variáveis:

nome := valor

Nessa sintaxe, o tipo é inferido automaticamente com base no valor atribuído.

Exemplo:

s := "Já segue no YouTube também!!!"
i := 7
f := 98.2
Enter fullscreen mode Exit fullscreen mode

Também é possível declarar múltiplas variáveis de forma curta:

index, num, value := 0, 55, 230
Enter fullscreen mode Exit fullscreen mode

Dicas sobre :=

  • := é uma declaração (cria a variável).
  • = é uma atribuição (atualiza o valor de uma variável já existente).

Use a declaração curta para simplificar seu código, especialmente em estruturas como loops.


Considerações

Gostou do conteúdo? 🚀 Deixe seu comentário ou compartilhe suas experiências com Go!

Nos próximos capítulos, exploraremos novos exemplos e conceitos que vão aprofundar nosso conhecimento sobre essa linguagem poderosa. Vamos juntos nessa jornada! 💻

Billboard image

Monitor more than uptime.

With Checkly, you can use Playwright tests and Javascript to monitor end-to-end scenarios in your NextJS, Astro, Remix, or other application.

Get started now!

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Discover a treasure trove of wisdom within this insightful piece, highly respected in the nurturing DEV Community enviroment. Developers, whether novice or expert, are encouraged to participate and add to our shared knowledge basin.

A simple "thank you" can illuminate someone's day. Express your appreciation in the comments section!

On DEV, sharing ideas smoothens our journey and strengthens our community ties. Learn something useful? Offering a quick thanks to the author is deeply appreciated.

Okay