Haupt- und Init-Funktionen in Golang

Die Sprache Go hat zwei spezielle Funktionen reserviert: main() und init() . Hier erfahren Sie, was Sie über die Verwendung der Funktionen main() und init() in Golang wissen sollten .

Haupt- und Init-Funktionen in Golang

main()-Funktion

In Go ist das Hauptpaket ein spezielles Paket für ausführbare Programme. Dieses Paket enthält die Funktion main() . Die Funktion main() ist ein spezieller Funktionstyp und dient als Einstiegspunkt für ausführbare Programme. Sie akzeptiert keine Argumente und gibt nichts zurück. Go ruft die Funktion main() automatisch auf, sodass ein direkter Aufruf der Funktion main() nicht erforderlich ist. Jedes ausführbare Programm muss ein Hauptpaket und eine eindeutige Funktion main() enthalten.

Zum Beispiel:

// Chương trình Go minh họa
// khái niệm của hàm main() 

// Khai báo gói chính
package main

// Nhập các gói
import (
    "fmt"
    "sort"
    "strings"
    "time"
)

// Hàm chính
func main() {

    // Sắp xếp slice đưa ra
    s := []int{345, 78, 123, 10, 76, 2, 567, 5}
    sort.Ints(s)
    fmt.Println("Sorted slice: ", s)

    // Tìm chỉ mục
    fmt.Println("Index value: ", strings.Index("Quantrimang", "ks"))

    // Tìm thời gian
    fmt.Println("Time: ", time.Now().Unix())

}

Ergebnis:

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

init()-Funktion

Die Funktion init() ist genau wie die Hauptfunktion, sie akzeptiert keine Argumente und gibt nichts zurück. Sie ist in jedem Paket vorhanden und wird aufgerufen, wenn das Paket initialisiert wird. Sie ist implizit deklariert, Sie können also nicht von irgendwoher darauf verweisen, und Sie dürfen mehrere init()-Funktionen im selben Programm erstellen, die in der Reihenfolge ausgeführt werden, in der sie erstellt werden. Sie dürfen init()-Funktionen überall im Programm erstellen, und sie werden in der Reihenfolge des Wörterbuchdateinamens aufgerufen (alphabetische Reihenfolge). Sie dürfen Anweisungen einfügen, wenn eine init()-Funktion vorhanden ist, aber denken Sie immer daran, dass die init()-Funktion vor dem Funktionsaufruf main() ausgeführt wird und daher unabhängig von der main()-Funktion ist. Der Hauptzweck der init()-Funktion besteht darin, globale Variablen zu initialisieren, die im globalen Kontext nicht initialisiert werden können.

Zum Beispiel:

// Chương trình Go minh họa
// khái niệm của hàm init() 

// Khai báo gói chính
package main

// Nhập gói
import "fmt"

// Hàm init() có nhiều nhánh
func init() {
    fmt.Println("Welcome to init() function")
}

func init() {
    fmt.Println("Hello! init() function")
}

// Hàm chính
func main() {
    fmt.Println("Welcome to main() function")
}

Ergebnis:

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

Einen Kommentar hinterlassen

Side Hustles That Actually Pay in 2026: 7 Realistic Options and the Tradeoffs to Know

Side Hustles That Actually Pay in 2026: 7 Realistic Options and the Tradeoffs to Know

Compare realistic side hustles for 2026 by startup cost, fees, flexibility, and income control, with current tax and scam guidance from official sources.

Ergonomie im Homeoffice 2026: So optimieren Sie Ihr Heimbüro, ohne zu viel auszugeben

Ergonomie im Homeoffice 2026: So optimieren Sie Ihr Heimbüro, ohne zu viel auszugeben

Verbessern Sie die Ergonomie Ihres Homeoffice mit den aktuellen OSHA- und NIOSH-Richtlinien zu Stuhlpassform, Monitorhöhe, Laptop-Aufstellung, Beleuchtung und Bewegungsabläufen.

Why Emotional Intelligence Matters in Leadership—and How to Build It

Why Emotional Intelligence Matters in Leadership—and How to Build It

Learn why emotional intelligence matters in leadership, where it helps most, how to strengthen it, and how to tell whether your approach is working.

Wie man ohne Hochschulabschluss in eine Technologiekarriere wechselt: Ein ergebnisorientierter Fahrplan für 2026

Wie man ohne Hochschulabschluss in eine Technologiekarriere wechselt: Ein ergebnisorientierter Fahrplan für 2026

Ein praktischer Leitfaden für den Einstieg in die Tech-Branche ohne Hochschulabschluss: Wählen Sie eine leicht zugängliche Stelle, erwerben Sie berufsrelevante Fähigkeiten, beweisen Sie diese anhand von Projekten und nutzen Sie das Feedback aus dem Bewerbungsprozess, um sich zu verbessern.

Aufbau einer persönlichen Marke auf LinkedIn im Jahr 2026: Was funktioniert noch, was hat sich verändert und was sollte man ignorieren?

Aufbau einer persönlichen Marke auf LinkedIn im Jahr 2026: Was funktioniert noch, was hat sich verändert und was sollte man ignorieren?

Bauen Sie im Jahr 2026 eine glaubwürdige LinkedIn-Personalmarke auf – mit aktuellem Profil, Inhalten, Newsletter, Analysen, Verifizierung und Sichtbarkeitsberatung von LinkedIn.

Quiet Quitting vs. Quiet Firing in 2026: What’s Really Changing at Work

Quiet Quitting vs. Quiet Firing in 2026: What’s Really Changing at Work

Quiet quitting and quiet firing are catchy labels, not diagnoses. Learn what is verified, what depends on context, and what employees and managers can do next.

Der Aufstieg des Teilzeit-Managers: Wann Teilzeit-Führungskräfte auf der C-Suite sinnvoll sind

Der Aufstieg des Teilzeit-Managers: Wann Teilzeit-Führungskräfte auf der C-Suite sinnvoll sind

Teilzeit-Führungskräfte bieten Top-Management ohne Vollzeitbeschäftigung. Erfahren Sie, wann dieses Modell funktioniert, welche Fragen Sie stellen sollten und welche Risiken zu berücksichtigen sind.

Wie Sie im Rahmen der Leistungsbeurteilung im vierten Quartal eine Gehaltserhöhung aushandeln: Ein praktischer Entscheidungsleitfaden für 2026

Wie Sie im Rahmen der Leistungsbeurteilung im vierten Quartal eine Gehaltserhöhung aushandeln: Ein praktischer Entscheidungsleitfaden für 2026

Bereiten Sie einen überzeugenderen Antrag auf Gehaltserhöhung im vierten Quartal vor, der aktuelle Lohndaten, Optionen für den Zeitpunkt, mögliche Abwägungen bei der Vergütung sowie Formulierungsvorschläge für die Szenarien Ja, Teilweises oder Nein enthält.

6 gefragte Fähigkeiten, die Sie noch vor Ende 2026 erlernen können

6 gefragte Fähigkeiten, die Sie noch vor Ende 2026 erlernen können

Wählen Sie eine gut bezahlte Qualifikation, mit der Sie realistischerweise noch vor Ende 2026 beginnen können, unter Berücksichtigung aktueller Gehaltsdaten, Lernprioritäten und einer praktischen Selbsteinschätzung.

Mastering the Hybrid Work Schedule: A Practical Framework That Actually Holds Up

Mastering the Hybrid Work Schedule: A Practical Framework That Actually Holds Up

Build a hybrid work schedule around tasks, team overlap, and measurable outcomes. See sample patterns, warning signs, and when to adjust your plan.