English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriales básicos de Golang

Sentencias de control de Golang

Funciones & Métodos de Golang

Estructuras de Golang

Cortes & Arreglos de Golang

Cadenas (String) de Golang

Punteros de Golang

Interfaces de Golang

Concurrencia de Golang

Excepciones (Error) de Golang

Misceláneos de Golang

Funciones main e init de Go

El lenguaje Go reserva dos funciones de uso especial, que sonmain()yinit()Función.

la función main

En el lenguaje Go,mainPaquete es un paquete especial que se utiliza junto con el programa ejecutable y el paquete contienemain()Función. Enmain()Función es un tipo especial de función, que es el punto de entrada de un programa ejecutable. No tiene parámetros ni devuelve nada. Debido a que se puede llamar automáticamentemain()Función, por lo que no es necesario llamarla explícitamentemain()Función, y cada programa ejecutable debe contener un package main ymain()Función.

//Declaración del paquete principal
package main
//Importar paquetes
import (
    "fmt"
    "sort"
    "strings"
    "time"
)
func main() {
    //Ordenar el corte
    s := []int{345, 78, 123, 10, 76, 2, 567, 5}
    sort.Ints(s)
    fmt.Println("Corte ordenado: ", s)
    // Buscar valor de índice
    fmt.Println("Índice de valor: ", strings.Index("w3"codebox", "ks")
    //Mostrar el timestamp actual
    fmt.Println("Timestamp: ", time.Now().Unix())
}

Salida:

Corte ordenado: [2 5 10 76 78 123 345 567]
Índice de valor:  -1
Timestamp:  1593335332

función init()

La función init() es como la función main(), sin parámetros ni retorno. Cada paquete tiene esta función, y se llama a esta función al inicializar el paquete. La función es declarada implícitamente, por lo que no puedes referirte a ella desde ninguna parte y puedes crear múltiples funciones init() en el mismo programa, que se ejecutarán en el orden de creación. Puedes crear la función init() en cualquier lugar de tu programa, y se llaman en orden alfabético (orden alfabético) de los nombres de los archivos. Permite colocar instrucciones en la función init(), pero siempre recuerda ejecutar la función init() antes de la función main(), por lo que no depende de la función main().   El objetivo principal de la función init() es inicializar variables globales que no se pueden inicializar en el contexto global.

package main 
  
import "fmt"
  
//Múltiples funciones init() 
func init() { 
    fmt.Println("Bienvenido a la función init()") 
} 
  
func init() { 
    fmt.Println("¡Hola! función init()") 
} 
  
func main() { 
    fmt.Println("Bienvenido a la función principal()") 
}

Salida:

Bienvenido a la función init()
¡Hola! función init()
Bienvenido a la función principal()