Como construir um servidor web básico usando Go

Go é uma linguagem de programação interessante para construir aplicações web modernas, bem como software de sistema. Ele criou um grande burburinho após seu lançamento e potencializa serviços como Docker, Kubernetes, Terraform, Dropbox e Netflix .

Além disso, a robusta coleção de pacotes integrados do Go o torna uma ótima opção para programação web. Este artigo mostrará como escrever um servidor web básico em Go.

Importe os pacotes necessários

O pacote net/HTTP fornece tudo o que é necessário para criar um servidor e cliente web. Este pacote apresenta algumas funções úteis para lidar com programação web.

Você pode importá-lo adicionando a linha abaixo ao início do seu código-fonte:

import "net/http"

O artigo também usará o pacote fmt para formatar strings e o pacote log para tratar erros. Você pode importá-los individualmente conforme mostrado acima ou importar todos os pacotes usando uma única instrução import:

import (
"fmt"
"log"
"net/http"
)

Você pode continuar escrevendo a função principal após importar os pacotes necessários. Vá em frente e salve o arquivo de origem com a extensão .go . Se você estiver usando o Vim , use o comando abaixo para salvar e sair do Vim:

:wq server.go

Escreva a função principal

Os programas Go residem diretamente na função principal, apropriadamente chamada de "principal". Você precisará fazer uma chamada de servidor aqui. Adicione as seguintes linhas ao código-fonte e veja o que elas fazem:

func main() {
http.HandleFunc("/", index)
log.Fatal(http.ListenAndServe(":8080", nil))
}

O exemplo está definindo a função principal usando a palavra-chave func . Go tem regras rígidas sobre a posição da chave de abertura, portanto, certifique-se de que a chave inicial esteja na linha correta. A primeira instrução em main define que todas as solicitações da web para o caminho raiz ( "/" ) serão tratadas pelo índice, uma função do tipo http.HandlerFunc .

A segunda linha inicia o servidor web através da função http.ListenAndServe . Ele sinaliza ao servidor para escutar continuamente as solicitações HTTP recebidas na porta 8080 do servidor. O segundo parâmetro desta função é necessário para bloquear o programa até o final.

Como http.ListenAndServe sempre retorna um erro, o exemplo envolve essa chamada dentro de uma log.Fatal call . Esta instrução registra quaisquer mensagens de erro geradas no lado do servidor.

Implementar funções de processamento

Como você pode ver, a função principal chama o índice da função do manipulador para lidar com as solicitações do cliente. Porém, o exemplo ainda não definiu esta funcionalidade para seu servidor.

Vamos adicionar as instruções necessárias para tornar a função de índice utilizável:

func index(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hi there, welcome to %s!", r.URL.Path[1:])
}

Esta função aceita dois argumentos diferentes do tipo http.ResponseWriter e http.Request . O parâmetro http.ResponseWriter contém a resposta do servidor à solicitação recebida, na forma de um objeto http.Request .

A função Fprintf do pacote fmt é usada para exibir e manipular strings de texto. O artigo usa isso para exibir a resposta do servidor às solicitações da web. Finalmente, o elemento r.URL.Path[1:] é usado para buscar dados após o caminho raiz.

Adicione todas as partes restantes

Seu servidor web Go estará pronto assim que você adicionar todos os componentes restantes. O código ficará assim:

import (
"fmt"
"log"
"net/http"
)
func index(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hi there, welcome to %s!", r.URL.Path[1:])
}
func main() {
http.HandleFunc("/", index)
log.Fatal(http.ListenAndServe(":8080", nil))
}

A primeira linha é necessária para compilar o código do servidor web Go como um arquivo executável.

Como construir um servidor web básico usando Go

Compile este código do servidor web Go como um arquivo executável

Deixar um comentário

Como remover o aviso de solicitação de direitos autorais no canto direito da tela do Windows 10

Como remover o aviso de solicitação de direitos autorais no canto direito da tela do Windows 10

Você vê uma notificação de ativação do Windows 10 no canto direito da tela? Este artigo irá orientá-lo sobre como excluir o aviso de solicitação de direitos autorais no Windows 10.

Instruções do AZ sobre como instalar o Windows 10 build 14393.222

Instruções do AZ sobre como instalar o Windows 10 build 14393.222

Recentemente, a Microsoft lançou a atualização cumulativa mais recente para usuários de PC com Windows 10, chamada Build 14393.222. Esta atualização lançada para o Windows 10 corrige principalmente bugs com base no feedback do usuário e melhora a experiência de desempenho do sistema operacional.

Proteja sua rede de computadores com host Bastion em apenas 3 etapas

Proteja sua rede de computadores com host Bastion em apenas 3 etapas

Você tem computadores em sua rede local que precisam de acesso externo? Usar um host bastião como gatekeeper para sua rede pode ser uma boa solução.

3 maneiras de limpar rapidamente todos os logs de eventos no Windows 10

3 maneiras de limpar rapidamente todos os logs de eventos no Windows 10

Às vezes, pode ser necessário excluir logs de eventos antigos de uma só vez. Neste guia, Quantrimang.com mostrará três maneiras de excluir rapidamente todos os logs de eventos no Visualizador de Eventos do Windows 10.

Como criar uma tecla do Windows se o seu teclado não estiver disponível

Como criar uma tecla do Windows se o seu teclado não estiver disponível

Se você preferir usar um teclado clássico antigo, como o IBM Modelo M, que não inclui uma tecla física do Windows, existe um método fácil de adicionar mais, pegando emprestada uma tecla que você não usa com frequência.

Como criar modo de fundo transparente no Windows 10

Como criar modo de fundo transparente no Windows 10

WindowTop é uma ferramenta que tem a capacidade de escurecer todas as janelas de aplicativos e programas em execução em computadores com Windows 10. Ou você pode usar uma interface de fundo escuro no Windows.

Métodos de IP falso ajudam você a acessar anonimamente

Métodos de IP falso ajudam você a acessar anonimamente

Em muitos artigos anteriores, mencionamos que permanecer anônimo online é extremamente importante. Informações privadas vazam todos os anos, tornando a segurança online cada vez mais necessária. Essa também é a razão pela qual devemos usar endereços IP virtuais. Abaixo, aprenderemos sobre métodos para criar IPs falsos!

Como desativar a barra de idiomas na barra de tarefas do Windows 8

Como desativar a barra de idiomas na barra de tarefas do Windows 8

A barra de idiomas do Windows 8 é uma barra de ferramentas de idiomas em miniatura projetada para ser exibida automaticamente na tela da área de trabalho. No entanto, muitas pessoas desejam ocultar esta barra de idiomas na barra de tarefas.

Dicas para otimizar a velocidade da conexão com a Internet da Linksys

Dicas para otimizar a velocidade da conexão com a Internet da Linksys

Maximizar a velocidade da Internet é essencial para otimizar sua conexão de rede. Você pode ter uma ótima experiência de entretenimento e trabalho usando computadores, TVs com Internet, consoles de jogos, etc.

Como configurar WEP, WPA, WPA2 para roteador Linksys

Como configurar WEP, WPA, WPA2 para roteador Linksys

A conectividade sem fio é uma necessidade hoje e por isso a segurança sem fio é essencial para garantir a segurança da sua rede interna.