Na aplicação que estou construindo ao longo do curso, onde monitoramos sites atraves do pacote http/net do golang, nos é sugerido a adição dos sites que queremos monitorar em um arquivo txt a parte e retornar os sites em um array.
func readsitesfile() []string {
var sites []string
file, _ := os.Open("sites.txt")
reader := bufio.NewReader(file)
for {
line, err := reader.ReadString('\n')
regex, _ := regexp.Compile("\n\n")
line = regex.ReplaceAllString(line, "\n")
line = strings.TrimSpace(line)
sites = append(sites, line)
if err == io.EOF {
break
}
}
file.Close()
return sites
}
Porém ao executar o codigo que inicia o monitoramento, após o ultimo site o golang me retornar um erro:
An error ocurred: Get "": unsupported protocol scheme ""
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x2 addr=0x10 pc=0x100b93eb0]
Eu acredito que seja porque meu visual studio está configurado para sempre acrescentar uma linha em branco no final dos arquivos ao salva-los e o go tenta fazer um get com uma string vazia(""), porém ainda não encontrei solução caso seja esse o problema.
Versão do go que utilizo: go1.19