Go - panic: dial tcp: address tcp/%!d(string=3306): unknown port

 
Vista:
Imágen de perfil de Claudio
Val: 1
Ha disminuido su posición en 4 puestos en Go (en relación al último mes)
Gráfica de Go

panic: dial tcp: address tcp/%!d(string=3306): unknown port

Publicado por Claudio (1 intervención) el 13/03/2019 15:21:27
Hola Que tal.

Primero felicitar al gestor de este foro, así tener una forma de comunicarnos, solicitar y prestar ayuda a quien lo necesite.

Tal como yo que me encuentro con esta dificultad.

Estoy aprendiendo recién, leyendo, lo que encuentro de Golang, que lo encuentro estupendo.


Me esta produciendo el siguiente mensaje en la consola, y no he podido saber porque.


panic: dial tcp: address tcp/%!d(string=3306): unknown port

goroutine 1 [running]:
_/home/claudio/Datos/golang/tutorial-go-codfacilito/rest/orm.CreateConnection()
/home/claudio/Datos/golang/tutorial-go-codfacilito/rest/orm/database.go:14 +0x26b
main.main()
/home/claudio/Datos/golang/tutorial-go-codfacilito/rest/test.go:6 +0x22
exit status 2

tengo instalado Gorm,

Mis archivos son los siguientes:

test.go

1
2
3
4
5
6
7
8
9
package main
 
import "./orm"
 
func main() {
	orm.CreateConnection()
	orm.CreateTables()
	orm.CloseConnection()
}

database.go

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package orm
 
import (
	"../config"
	_ "github.com/go-sql-driver/mysql"
	"github.com/jinzhu/gorm"
)
 
var db *gorm.DB
 
func CreateConnection() {
	url := config.GetUrlDatabase()
	if connection, err := gorm.Open("mysql", url); err != nil {
		panic(err)
	} else {
		db = connection
		// fmt.Println("Conexión exitosa!")
	}
}
 
func CloseConnection() {
	db.Close()
}
 
func CreateTables() {
	db.DropTableIfExists(&User{})
	db.CreateTable(&User{})
}

user.go

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package orm
 
import "time"
 
type User struct {
	Id        int64  `json:"id`
	Username  string `json:"username"`
	Password  string `json:"password"`
	Email     string `json:"email"`
	CreatedAt time.Time
}

type Users []User


y config.go

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package config
 
import(
    "github.com/eduardogpg/gonv"
    "fmt"
)
 
type DatabaseConfig struct{
    Username string
    Password string
    Host string
    Port string
    Database string
}
 
var database *DatabaseConfig
 
func init()  {
    database = &DatabaseConfig{}
    database.Username = gonv.GetStringEnv("USERNAME", "root")
    database.Password = gonv.GetStringEnv("PAASWORD", "")
    database.Host = gonv.GetStringEnv("HOST", "localhost")
    database.Port = gonv.GetStringEnv("PORT", "3306")
    database.Database = gonv.GetStringEnv("DATABASE", "project_go_web")
}
 
func GetUrlDatabase() string {
    return database.url()
}
 
func (this *DatabaseConfig) url() string{
    return fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=utf8mb4", this.Username, this.Password, this.Host, this.Port, this.Database)
}
Esos son los 4 archivos que tengo

Por favor si alguien me puede ayudar con esto. muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 21
Ha aumentado 1 puesto en Go (en relación al último mes)
Gráfica de Go

panic: dial tcp: address tcp/%!d(string=3306): unknown port

Publicado por Yamil Bracho (7 intervenciones) el 10/04/2019 22:02:36
Revisa como estas especificando el Databasename (url) para la conexion a la BD en la documnetacion de gorm (http://gorm.io/docs/connecting_to_the_database.html)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar