función principal e init en Golang

El lenguaje Go reserva dos funciones para propósitos especiales y las funciones son la función main() e init() .

función principal

En el lenguaje Go, el paquete principal es un paquete especial que se usa con los programas que son ejecutables y este paquete contiene la función main() . La función main() es un tipo especial de función y es el punto de entrada de los programas ejecutables. No toma ningún argumento ni devuelve nada. Vaya automáticamente a llamar a la función main() , por lo que no es necesario llamar explícitamente a la función main() y cada programa ejecutable debe contener un solo paquete principal y función main() .

Ejemplo:

// Go program to illustrate the
// concept of main() function
  
// Declaration of the main package
package main
  
// Importing packages
import (
    "fmt"
    "sort"
    "strings"
    "time"
)
  
// Main function
func main() {
  
    // Sorting the given slice
    s := []int{345, 78, 123, 10, 76, 2, 567, 5}
    sort.Ints(s)
    fmt.Println("Sorted slice: ", s)
  
    // Finding the index
    fmt.Println("Index value: ", strings.Index("GeeksforGeeks", "ks"))
  
    // Finding the time
    fmt.Println("Time: ", time.Now().Unix())
  
}

Producción:

Sorted slice:  [2 5 10 76 78 123 345 567]
Index value:  3
Time:  1257894000

función init()

La función init() es como la función principal, no toma ningún argumento ni devuelve nada. Esta función está presente en todos los paquetes y se llama a esta función cuando se inicializa el paquete. Esta función se declara implícitamente, por lo que no puede hacer referencia a ella desde ningún lugar y puede crear múltiples funciones init() en el mismo programa y se ejecutan en el orden en que se crean. Se le permite crear la función init() en cualquier parte del programa y se llaman en orden léxico de nombre de archivo (orden alfabético). Y permite poner declaraciones si la función init(), pero siempre recuerde que la función init() se ejecuta antes de la llamada a la función main(), por lo que no depende de la función main() . El propósito principal de init()La función es inicializar las variables globales que no se pueden inicializar en el contexto global.

Ejemplo:

// Go program to illustrate the
// concept of init() function
  
// Declaration of the main package
package main
  
// Importing package
import "fmt"
  
// Multiple init() function
func init() {
    fmt.Println("Welcome to init() function")
}
  
func init() {
    fmt.Println("Hello! init() function")
}
  
// Main function
func main() {
    fmt.Println("Welcome to main() function")
}

Producción:

Welcome to init() function
Hello! init() function
Welcome to main() function

Publicación traducida automáticamente

Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *