Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Programa não devolve resposta e fica rodando.

Olá, estou na Aula 4 aplicando a parte de fazer uma Requisição via HTTP lendo o Status Code e então tratando o caso para devolver algo no programa.

O meu código atual é este:

package main

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

func main() {

    exibeIntroducao()

    exibeMenu()
    leComando()

    comando := leComando()

    switch comando {
    case 1:
        iniciarMonitoramento()
    case 2:
        fmt.Println("Exibindo Logs...")
    case 0:
        fmt.Println("Saindo do Programa.")
        os.Exit(0)
    default:
        fmt.Println("Comando não conhecido")
        os.Exit(-1)
    }

}

func exibeIntroducao() {
    nome := "Douglas"
    versao := 1.1
    fmt.Println("Olá, Sr.", nome)
    fmt.Println("Estre programa está na versão", versao)
}

func exibeMenu() {
    fmt.Println("1- Iniciar Monitoramento")
    fmt.Println("2- Exibir Logs")
    fmt.Println("0- Sair do Programa")
}

func leComando() int {
    var comandoLido int
    fmt.Scan(&comandoLido)
    fmt.Println("O comando captado foi o", comandoLido)

    return comandoLido
}

func iniciarMonitoramento() {
    fmt.Println("Monitorando...")
    site := "https://www.alura.com.br/"
    resp, _ := http.Get(site)

    if resp.StatusCode == 200 {
        fmt.Println("O Site:", site, "está carregando com sucesso!")
    } else {
        fmt.Println("O Site:", site, "está com problemas. Status Code:", resp.StatusCode)
    }
}

Pelo que eu notei está tudo correto. Porém, quando rodo o programa ele fica travado sem devolver nada... Segue imagem:

Deixei passar algo no código?

1 resposta
solução!

Bem, já consegui resolver o problema em questão.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software