A aplicação em Go
Antes de colocarmos a mão na massa, precisamos apresentar alguns conceitos importantes.
Onde começa
O ponto de entrada da aplicação fica na função main() que fica no pacote main. É necessário que ela exista para que a aplicação possa ser construída, e ela será a porta de entrada para toda a aplicação.
Mas o que é um pacote e o que é uma função? Veremos esses termos mais a fundo adiante, mas por enquanto podemos adiantar que um pacote é um conjunto de um ou mais arquivos Go dentro do mesmo diretório e uma função é um pedaço de código bem delineado que pode ser reaproveitado várias vezes.
Por ser esse o ponto de entrada das aplicações, todos os nossos exemplos terão basicamente a mesma estrutura:
package main
func main() {
// Algum código aqui
}Na linha 1, temos a declaração do pacote: package main. Todos os arquivos Go pertencem a um pacote e todos começam dessa forma, declarando o nome do pacote na linha 1, seja ele main ou qualquer outro.
Na linha 3, começa a declaração da função main: func main() { ... }
Importações
Outra expressão que se repete muito nos arquivos Go é import <nome do pacote>, que realiza uma importação.
Uma importação torna disponível um conjunto de código (daqui pra frente, usaremos o termo biblioteca) que é estrangeiro do ponto de vista do pacote onde está acontecendo a importação. Vamos a um exemplo para ilustrar: digamos que você quer utilizar uma função do pacote "fmt" da biblioteca padrão de Go dentro da sua função main(). Para ter acesso a essa função, você precisa importar o pacote "fmt" usando a palavra reservada import, que deve vir logo abaixo da declaração do pacote. Na prática, fica assim:
package main
import "fmt"
func main() {
fmt.Println("Let's Go!")
}A função Println() do pacote "fmt" está disponível na linha 6 do código acima porque fizemos a importação do pacote na linha 3.
Palavras reservadas
Go tem 25 palavras reservadas, que são basicamente palavras-chave que designam ações pré-definidas pela linguagem. Elas podem ser encontradas na documentação da linguagem (nesse link aqui) e na lista abaixo:
Nós já vimos três delas: func, import e package. Ao longo desse material conheceremos praticamente todas as demais.
Nomes pré-declarados
Além das palavras reservadas, também há nomes (ou identificadores) pré-declarados. São tipos e funções que estão disponíveis sem a necessidade de importação de nenhum pacote e que podem ser redeclarados - porém fazer isso traria confusão a quem está lendo o código. Estão disponíveis para consulta na documentação da linguagem (nesse link aqui) e são os seguintes:
Ao longo desse material também encontraremos vários desses nomes, e alguns outros ficarão para serem explorados por você em outras oportunidades.
Funções da biblioteca padrão que serão úteis para o curso
Em grande parte dos exemplos, usaremos funções do pacote "fmt" da biblioteca padrão de Go, que disponibiliza várias funções que exibem saídas formatadas. Vamos introduzir algumas:
fmt.Println(): formata seus argumentos e escreve na saída padrão (em geral, a saída padrão é o monitor - ou seja, nesses casos, a função fará exibir na tela seu resultado), adicionando sempre uma nova linha ao finalfmt.Printf(): formata seus argumentos de acordo com especificadores de formato informados (os veremos adiante) e também escreve na saída padrãofmt.Sprintf(): formata seus argumentos de acordo com especificadores de formato informados e retorna a cadeia de caracteres resultante
Antes de continuar, dê uma passada nesse site aqui e clique no botão "Run". Você deve obter o seguinte resultado:
Nas 7 linhas desse pequeno programa, que "printou" (usaremos essa expressão para dizer que formatou e escreveu na saída padrão) Let's Go! e em seguida encerrou, podemos observar:
Uma declaração de pacote
Uma importação
Declaração de função
main()no pacote mainUso da função
Println()do pacote "fmt"
Last updated