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

Golang tutorial básico

Golang instruções de controle

Golang função & método

Golang estrutura

Golang fatia & array

Golang string (String)

Golang ponteiro

Golang interface

Golang concorrência

Golang exceção (Error)

Outros itens do Golang

Função main e init do Go

O Go linguagem de programação reservou duas funções de uso especial, essas funções sãoprincipal()einit()função.

função main

No Go linguagem de programação,mainpacote é um pacote especial, usado juntamente com o programa executável e o pacote contémprincipal()função.principal()função é um tipo especial de função, que é o ponto de entrada do programa executável. Ela não tem parâmetros e não retorna nada. Devido ao chamamento automáticoprincipal()função, então não há necessidade de chamar explicitamenteprincipal()função, e cada programa executável deve conter um package main eprincipal()função.

//Declaração do pacote principal
package main
//Importar pacotes
import (
    "fmt"
    "sort"
    "strings"
    "time"
)
func principal() {
    //Ordenar a fatia
    s := []int{345, 78, 123, 10, 76, 2, 567, 5}
    sort.Ints(s)
    fmt.Println("fatia ordenada: ", s)
    // Procurar índice de valor
    fmt.Println("Índice de valor: ", strings.Index("w3codebox, "ks")
    //Mostrar timestamp atual
    fmt.Println("Timestamp: ", time.Now().Unix())
}

Saída:

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

função init()

A função init() é como a função principal, sem parâmetros e sem retornar nada. Cada pacote possui essa função, que é chamada ao inicializar o pacote. A função é implicitamente declarada, então você não pode chamá-la de lugar nenhum e pode criar várias funções init() no mesmo programa, que serão executadas na ordem de criação. Você pode criar a função init() em qualquer lugar do programa e elas serão chamadas na ordem do nome do arquivo (ordem alfabética). Permite que você coloque instruções na função init(), mas sempre lembre-se de executar a função init() antes da função principal(), então ela não depende da função principal().   O objetivo principal da função init() é inicializar variáveis globais que não podem ser inicializadas no contexto global.

package main 
  
import "fmt"
  
//Múltiplas funções init() 
func init() { 
    fmt.Println("Bem-vindo à função init()") 
} 
  
func init() { 
    fmt.Println("Olá! Função init()") 
} 
  
func principal() { 
    fmt.Println("Bem-vindo à função principal()") 
}

Saída:

Bem-vindo à função init()
Olá! Função init()
Bem-vindo à função principal()