Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info

Ngôn ngữ Go dành riêng hai hàm cho mục đích đặc biệt và các hàm đó là hàm main() và init(). Dưới đây là những điều cần biết về cách dùng hàm main() và init() trong Golang.

Trong ngôn ngữ Go, gói main là một gói đặc biệt được sử dụng với các chương trình có thể thực thi và gói này chứa hàm main(). Hàm main() là một loại hàm đặc biệt và là điểm vào của các chương trình có thể thực thi. Nó không lấy bất kỳ đối số nào cũng như không trả về bất kỳ thứ gì. Go tự động gọi hàm main(), do đó không cần phải trực tiếp gọi hàm main() và mọi chương trình có thể thực thi phải chứa một gói main và hàm main() duy nhất.
Ví dụ:
// 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())
}
Kết quả:
Sorted slice: [2 5 10 76 78 123 345 567] Index value: 3 Time: 1257894000
Hàm init() cũng giống như hàm main, không lấy bất kỳ đối số nào cũng như không trả về bất kỳ thứ gì. Hàm này có trong mọi gói và được gọi khi gói được khởi tạo. Hàm này được khai báo ngầm định, do đó bạn không thể tham chiếu nó từ bất kỳ đâu và được phép tạo nhiều hàm init() trong cùng một chương trình và chúng được thực thi theo thứ tự được tạo ra. Bạn được phép tạo hàm init() ở bất kỳ đâu trong chương trình và chúng được gọi theo thứ tự tên tệp từ điển (Thứ tự chữ cái). Bạn được phép đặt các câu lệnh nếu có hàm init(), nhưng luôn nhớ rằng hàm init() được thực thi trước lệnh gọi hàm main(), do đó nó không phụ thuộc vào hàm main(). Mục đích chính của hàm init() là khởi tạo các biến toàn cục không thể được khởi tạo trong ngữ cảnh toàn cục.
Ví dụ:
// 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")
}
Kết quả:
Welcome to init() function Hello! init() function Welcome to main() function
Nguồn tin: Quantrimang.com:
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
8 mẹo hạn chế Claude vượt quá giới hạn lượt dùng
Cách sử dụng ChatGPT tự động xử lý, trả lời thư mời họp Gmail trong tích tắc
So sánh hệ sinh thái Microsoft Copilot: Nên chọn công cụ nào?
Top 10 công cụ AI viết content tốt nhất năm 2026
Hướng dẫn fix lỗi “It’s Not You, It’s Me” trên Copilot
Cách cấu hình Claude Code Hooks giúp tự động định dạng và kiểm thử code
Cách tự động hóa email hoàn toàn với Grok Bot
TOP công cụ AI chỉnh sửa file PDF tốt nhất
7 công cụ AI mã nguồn mở có thể thay thế các gói đăng ký trả phí
Hướng dẫn tìm địa điểm bằng bản đồ trên Gemini
Cách dùng plugin Gmail trong ChatGPT để chuẩn bị nháp email
13 công cụ AI tốt nhất để tạo tác phẩm nghệ thuật từ một bức ảnh chụp
Hướng dẫn dọn dẹp và quản lý Gmail bằng Gemini
TOP công cụ AI chỉnh sửa ảnh theo từng nhu cầu
5 cách khai thác Gemini với Google Workspace và NotebookLM
TOP Claude Connector tốt nhất cho hoạt động bán hàng
4 lựa chọn thay thế tốt nhất cho Midjourney
Hướng dẫn tạo bài thuyết trình bằng AI trên NoteGPT
8 mẹo hạn chế Claude vượt quá giới hạn lượt dùng
8 mẹo hạn chế Claude vượt quá giới hạn lượt dùng
Hướng dẫn cài đặt và sử dụng n8n trên Windows 11
Cách lập trình chuyên nghiệp hơn, dễ dàng hơn với tính năng Tệp trên Grok
Công thức tính diện tích hình Elip
Hướng dẫn ngắt kết nối ứng dụng trên ChatGPT
Hướng dẫn tạo đoạn hội thoại cho topic trên Twee
Bức tranh tổng quan về hỗ trợ khách hàng tích hợp AI
Đừng chia sẻ ảnh cho đến khi bạn chạy kiểm tra siêu dữ liệu này!
6 cách mở Computer/System Properties trong Windows 10
Cách sửa lỗi There Are Currently No Power Options Available Windows
Hướng dẫn 8 cách mở bàn phím ảo trên Windows 10