Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

ERRO go build main go

ao rodar o comando go build main go. Do codigo abaixo : ackage database

import ( "log" "os"

"github.com/guilhermeonrails/api-go-gin/models"
"gorm.io/driver/postgres"
"gorm.io/gorm"

)

var ( DB *gorm.DB err error )

func ConectaComBancoDeDados() {

stringDeConexao := "host="+os.Getenv("HOST")+" user="+os.Getenv("USER")+" password="+os.Getenv("PASSWORD")+" dbname="os.Getenv("DBNAME")+" port="os.Getenv("PORT")+" sslmode=disable"
DB, err = gorm.Open(postgres.Open(stringDeConexao))
if err != nil {
    log.Panic("Erro ao conectar com banco de dados")
}

DB.AutoMigrate(&models.Aluno{})

}

aparece a mensagem de erro :

github.com/guilhermeonrails/api-go-gin/database

database/db.go:19:122: syntax error: unexpected os at end of statement note: module requires Go 1.15

2 respostas
solução!

Olá, Marcio! Parece que você está tendo um problema com a sintaxe do seu código.

O erro que você está vendo indica que há um problema de sintaxe na linha 19 do seu código. Especificamente, parece que você esqueceu de incluir os operadores de concatenação (+) ao redor da função os.Getenv() nas partes referentes ao "dbname" e "port".

O seu código atualmente está assim:

stringDeConexao := "host="+os.Getenv("HOST")+" user="+os.Getenv("USER")+" password="+os.Getenv("PASSWORD")+" dbname="os.Getenv("DBNAME")+" port="os.Getenv("PORT")+" sslmode=disable"

No entanto, ele deveria ser assim:

stringDeConexao := "host="+os.Getenv("HOST")+" user="+os.Getenv("USER")+" password="+os.Getenv("PASSWORD")+" dbname="+os.Getenv("DBNAME")+" port="+os.Getenv("PORT")+" sslmode=disable"

Você perceberá que adicionei os operadores de concatenação (+) em volta das funções os.Getenv("DBNAME") e os.Getenv("PORT").

Além disso, a nota de erro menciona que o módulo requer Go 1.15. Portanto, certifique-se de que você está usando a versão correta do Go. Você pode verificar isso executando o comando go version no terminal.

Espero ter ajudado e bons estudos!

Bom dia , Renan.

Muito obrigado , deu certo aqui.