Site Overlay

Seu Primeiro Programa

Tradicionalmente o primeiro programa que você escreve em qualquer linguagem de programação é chamado de programa “Hello World” – um programa que simplesmente sai Hello World para o seu terminal. Vamos escrever um usando Go.

Primeiro crie uma nova pasta onde possamos armazenar o nosso programa. Crie uma pasta chamada ~/src/golang-book/chapter2. (Onde ~ significa o seu diretório home) A partir do terminal você pode fazer isso digitando os seguintes comandos:

mkdir src/golang-bookmkdir src/golang-book/chapter2

Usando o seu editor de texto digite o seguinte:

package mainimport "fmt"// this is a commentfunc main() { fmt.Println("Hello World")}

Certifique-se que o seu ficheiro é idêntico ao que é mostrado aqui e guarde-o como main.go na pasta que acabámos de criar. Abra um novo terminal e digite o seguinte:

cd src/golang-book/chapter2go run main.go

Você deve ver Hello World exibido no seu terminal. O comando go run pega nos ficheiros subsequentes (separados por espaços), compila-os num executável guardado num directório temporário e depois corre o programa. Se você não viu Hello World exibido, você pode ter cometido um erro ao digitar o programa. O compilador Go dar-lhe-á dicas sobre onde se encontra o erro. Como a maioria dos compiladores, o compilador Go é extremamente pedante e não tem tolerância a erros.

Como ler um programa Go

Vamos olhar para este programa com mais detalhes. Os programas Go são lidos de cima para baixo, da esquerda para a direita. (como um livro) A primeira linha diz o seguinte:

package main

Isto é conhecido como uma “declaração de pacote”. Todo programa Go deve começar com uma declaração de pacote. Os pacotes são a forma de organização e reutilização do código de Go. Existem dois tipos de programas Go: executáveis e bibliotecas. As aplicações executáveis são os tipos de programas que podemos executar diretamente do terminal. (no Windows terminam com .exe) As bibliotecas são coleções de código que empacotamos juntas para que possamos utilizá-las em outros programas. Exploraremos as bibliotecas com mais detalhes mais tarde, por enquanto apenas certifique-se de incluir esta linha em qualquer programa que você escrever.

A próxima linha é uma linha em branco. Os computadores representam novas linhas com um caracter especial (ou vários caracteres). Linhas novas, espaços e tabulações são conhecidos como espaços em branco (porque você não pode vê-los). Go principalmente não se preocupa com espaços em branco, nós o usamos para tornar os programas mais fáceis de ler. (Você poderia remover esta linha e o programa se comportaria exatamente da mesma maneira)

Então vemos isto:

import "fmt"

A palavra-chave import é como incluímos código de outros pacotes para usar com nosso programa. O pacote fmt (abreviatura para formato) implementa a formatação para entrada e saída. Dado o que acabamos de aprender sobre pacotes, o que você acha que os arquivos do pacote fmt conteriam no topo deles?

Note que fmt acima está rodeado por aspas duplas. O uso de aspas duplas como esta é conhecido como uma “string literal” que é um tipo de “expressão”. Em Go strings representam uma sequência de caracteres (letras, números, símbolos, …) de um comprimento definido. As strings são descritas com mais detalhes no próximo capítulo, mas por enquanto o importante a ter em mente é que uma abertura " caracter deve eventualmente ser seguida por outro " caracter e qualquer coisa entre os dois é incluída na string. (O caractere " em si não faz parte da string)

A linha que começa com // é conhecida como um comentário. Os comentários são ignorados pelo compilador Go e estão lá para o seu próprio bem (ou quem pegar o código fonte do seu programa). Go suporta dois estilos diferentes de comentários: // comentários nos quais todo o texto entre o // e o final da linha faz parte do comentário e /* */ comentários onde tudo entre o *s faz parte do comentário. (E pode incluir várias linhas)

Após isso você verá uma declaração de função:

func main() { fmt.Println("Hello World")}

Funções são os blocos de construção de um programa Go. Eles têm entradas, saídas e uma série de passos chamados de declarações que são executadas em ordem. Todas as funções começam com a palavra-chave func seguida do nome da função (main neste caso), uma lista de zero ou mais “parâmetros” rodeada por parênteses, um tipo de retorno opcional e um “corpo” que é rodeado por chaves encaracoladas. Esta função não tem parâmetros, não retorna nada e tem apenas uma declaração. O nome main é especial porque é a função que é chamada quando você executa o programa.

A peça final do nosso programa é esta linha:

 fmt.Println("Hello World")

Esta declaração é feita de três componentes. Primeiro acessamos outra função dentro do pacote fmt chamado Println (que é o pacote fmt.Println peça, Println significa Linha de Impressão). Depois criamos uma nova string que contém Hello World e invocamos (também conhecida como call or execute) essa função com a string como o primeiro e único argumento.

Neste ponto já vimos muita terminologia nova e você pode estar um pouco sobrecarregado. Às vezes é útil ler seu programa deliberadamente em voz alta. Uma leitura do programa que acabamos de escrever pode ser assim:

Criar um novo programa executável, que referencia a biblioteca fmt e contém uma função chamada main. Essa função não aceita argumentos, não retorna nada e faz o seguinte: Acesse a função Println contida dentro do pacote fmt e invoque-a usando um argumento – a string Hello World.

A função Println faz o trabalho real neste programa. Você pode descobrir mais sobre isso digitando o seguinte em seu terminal:

godoc fmt Println

Em outras coisas você deve ver isto:

Println formats using the default formats for its operands and writes to standard output. Spaces are always added between operands and a newline is appended. It returns the number of bytes written and any write error encountered.

Go é uma linguagem de programação muito bem documentada mas esta documentação pode ser difícil de entender a menos que você já esteja familiarizado com linguagens de programação. No entanto o comando godoc é extremamente útil e um bom lugar para começar sempre que você tiver uma pergunta.

Voltar para a função em mãos, esta documentação está dizendo que a função Println irá enviar o que você der a ela para a saída padrão – um nome para a saída do terminal em que você está trabalhando. Esta função é o que faz com que Hello World seja exibido.

No próximo capítulo vamos explorar como Go armazena e representa coisas como Hello World aprendendo sobre tipos.

Problemas

  • O que é espaço em branco?

  • O que é um comentário? Quais são as duas formas de escrever um comentário?

  • O nosso programa começou com package main. Com o que os arquivos no pacote fmt começariam?

  • Usamos a função Println definida no pacote fmt. Se quiséssemos usar a função Exit do pacote os o que precisaríamos fazer?

  • Modificar o programa que escrevemos para que em vez de imprimir Hello World imprima Hello, my name is seguido do seu nome.

← Previous Index

Deixe uma resposta

O seu endereço de email não será publicado.