Main and init functions in Golang

Go language has reserved two special purpose functions and those functions are main() and init() . Here are the things to know about using main() and init() functions in Golang .

Main and init functions in Golang

main() function

In Go, the main package is a special package used with executable programs and this package contains the main() function . The main() function is a special type of function and is the entry point for executable programs. It does not take any arguments and does not return anything. Go automatically calls the main() function, so there is no need to call the main() function directly and every executable program must contain a main package and a unique main() function.

For example:

// 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())

}

Result:

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

init() function

The init() function is just like the main function, it does not take any arguments and does not return anything. It is present in every package and is called when the package is initialized. It is implicitly declared, so you cannot reference it from anywhere and you are allowed to create multiple init() functions in the same program and they are executed in the order they are created. You are allowed to create init() functions anywhere in the program and they are called in the order of the dictionary file name (Alphabetical order). You are allowed to put statements if there is an init() function, but always remember that the init() function is executed before the main() function call, so it is independent of the main() function. The main purpose of the init() function is to initialize global variables that cannot be initialized in the global context.

For example:

// 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")
}

Result:

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

Leave a Comment

Best Halloween Team Building Games to Play at the Workplace

Best Halloween Team Building Games to Play at the Workplace

Explore seven Halloween team building games for the workplace, with quick rules, hybrid-friendly options, accessibility tips, and practical safety guidance.

Make Realistic Fake Blood Without a Cleanup Surprise

Make Realistic Fake Blood Without a Cleanup Surprise

Mix a glossy prop-only fake blood batch, choose safer products for skin and costumes, and test cleanup before Halloween night.

Kawaii Halloween Decor Without Gore or Jump Scares

Kawaii Halloween Decor Without Gore or Jump Scares

Create a gentle Halloween look with pastel colors, friendly ghosts, easy no-carve accents, and practical safety tips for your home.

Desk Decorating Ideas for a Spooky Office Cubicle

Desk Decorating Ideas for a Spooky Office Cubicle

Create a spooky office cubicle with Halloween desk decor ideas that keep your workspace usable, tidy, and mindful of workplace safety.

Pop Culture Costume Ideas That Will Dominate Halloween 2026

Pop Culture Costume Ideas That Will Dominate Halloween 2026

Plan a recognizable Halloween 2026 look with pop culture costumes inspired by Spider-Man, Supergirl, Toy Story 5, Moana, Mario, and Wednesday.

Leftover Halloween Candy and Pumpkins: What to Do Next

Leftover Halloween Candy and Pumpkins: What to Do Next

Sort leftover Halloween candy safely, share or repurpose sealed treats, and choose food use or compost for pumpkins based on their condition.

What Not to Wear: A Guide to Professional Workplace Halloween Etiquette

What Not to Wear: A Guide to Professional Workplace Halloween Etiquette

Compare workplace Halloween costume choices by respect, dress code, mobility, and safety—and learn when a subtle accessory or a policy check is the better option.

Couples Costume Ideas for 2026: Iconic Pairs and Clever Tropes

Couples Costume Ideas for 2026: Iconic Pairs and Clever Tropes

Find a couples costume that fits your style, budget, and comfort level, from Addams Family classics to original inside-joke duos.

Last-Minute High School Halloween Costumes That Take 5 Minutes

Last-Minute High School Halloween Costumes That Take 5 Minutes

Need a last-minute high school Halloween costume? Compare 10 easy closet-based ideas by prep time, comfort, school-day practicality, and simple safety checks.

When to Start Decorating for Halloween in 2026

When to Start Decorating for Halloween in 2026

Use a simple 2026 Halloween decorating timeline for indoor décor, outdoor displays, and fresh pumpkins, with practical adjustments for weather and events.