libcore

module
v1.3.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 7, 2020 License: MIT

README

LIBCORE

Creaciones de librerias

TEST:

Carpeta donde contiene ejemplos de las librerias creadas.

Utility:

Carpeta contiene funciones variadas de todo el proyecto.

Database:

Carpeta contiene funciones variadas sobre conexion a base de datos.

Server:

Carpeta contiene funciones variadas sobre servicio con ECHO.

Go module

Es la forma de obtener dependicias y de liberarse del GOPATH esto crea un entorno cerrado al proyecto.

Documentacion
  • Introduccion

  • GoLibModule

    Inicializar

    go mod init github.com/{your_username}/{repo_name}
    or go test -v #para inicializar las dependencias
    go build
    ./gomod
Librerias Externas:

Toda libreria externa se debe de instalar para que funcione correctamente el proyecto.

  • fatih/color

  • rana/ora

  • lib/pq

  • go-sql-driver/mysql

  • denisenkom/go-mssqldb

  • jmoiron/sqlx

  • go-ini/ini

  • labstack/echo

  • satori/go.uuid

Nomenclatura:

  • Todo paquete comienza con cr para entender que es del proyecto core.
  • Las constante son todas en mayuscula y deben de estan en un archivo aparte con las variables globales.
  • Las funciones deben de tener una descripcion resumida pero directas del funcionamiento.
  • Las funciones o estructuras publicas comienzan con mayusculas.
  • Todo atributo de una estrucutra publica comienza con mayusculas.
  • El uso de puntero se identificara con un ptr al comienzo de la variable ejemplo PtrConexion.
  • Los nombres de las variables no pueden llevar separaciones con _ si no para separar llevara otra mayuscula.
  • Las constante deben de tener una descripcion asi como tambien las estructuras.
  • Las estructura deberan de comenzar con las 3 primeras iniciales de la libreria.
  • Las estructura comienzan con st.
  • Los nombre de archivos que contienen constante o variables globales terminan con const.
  • Toda importancia estatica debe llevar una descripcion.
  • Todo mensaje se creara en la variable global Msj con su codigo.
  • Al usar canales usar las variables con el prefijo Chan al final esto indica que es una variable de canal.

Ejemplo de descripciones:

Funciones:

/*Cierre : cierra las conexiones de base de datos intanciadas*/
func (p *StConexion) Cierre() error {}

Estructura:

/*StCadConexion : Estructura para generar la cadena de  conexiones de base de datos */
type StCadConexion struct {
    Nombre `json:"nombre"`
}

Constante:

/*Mong : conexion tipo mongodb */
const Mong = "MONGO"

Importanciones Estaticas:

 /*Conexion a mysql*/
import(
    _ "github.com/go-sql-driver/mysql"
    )

Variables Globales e punteros:

var (
    /*EXT : extensiones de archivos */
        EXT = map[string]string{
        "JSON": ".json",
        "INI":  ".ini",
        "XML":  ".xml",
        }
        ptrNombre *string
    )

Mensaje:

    MensajesGrnl = map[string]string{
        "ERR1":"No existe el archivo"
        }

Canales:

    EjemploChan := make(chan int)

Envio de correo Soporte de Cuente en gmail Ejemplo de Envio

    func TestEmail(t *testing.T) {
    t.Logf("Email:%s\n", "Envio")
    email := utl.StEmailAdmin{}
    email.AddUser("...@gmail.com",
        "...*", utl.SMTPURL["gmail"], utl.SMTPPORT["gmail1"])
    email.AddDest("...@thedataage.com")
    email.AddBody(utl.TypeContent["html"], "Prueba",    "Prueba")
    err := email.SendMail()
    if err != nil {
        t.Logf("Email:%s\n", err.Error())
    } else {
        t.Logf("Email:%s\n", "Terminado")
    }

}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL