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