Go / Анхны программ

Анхны программ

Go суулгаж бэлэн болгосон. Одоо анхны программаа бичиж, ажиллуулна. Энэ хичээл дуусахад та Go код бичиж, compile хийж, ажиллуулж чаддаг болно.

Анхны файл үүсгэх

hello хавтасаараа очиж main.go нэртэй файл үүсгэ:

bash
cd go-projects/hello

Дараа нь code editor-оороо main.go файл үүсгэж доорх кодыг бич:

go
package main

import "fmt"

func main() {
    fmt.Println("Сайн уу, дэлхий!")
}

Файлаа хадгална (Ctrl+S эсвэл Cmd+S).

Программаа ажиллуулах

Terminal дээр хоёр арга байдаг:

Шууд ажиллуулах (compile + run):

bash
go run main.go

Дэлгэцэнд дараах үр дүн харагдана:

код
Сайн уу, дэлхий!

Compile хийгээд дараа ажиллуулах:

bash
# Compile хийх — гүйцэтгэх файл үүснэ
go build main.go

# Windows дээр
main.exe

# Linux / macOS дээр
./main

go run нь хөгжүүлэлтийн явцад ашиглахад тохиромжтой. go build нь бусдад тараах файл үүсгэхэд хэрэглэнэ.

Кодын бүтцийг ойлгох

Анхны программынхаа мөр бүрийг задалж үзье:

go
package main

Go-д бичсэн кожид файл бүр ямар нэг package-д хамаарах ёстой. main package нь тусгай утгатай — энэ нь гүйцэтгэх файл үүсгэнэ гэсэн үг. Library бол package main биш өөр нэртэй байдаг.

go
import "fmt"

fmt нь Go-ийн стандарт сангийн package юм. "format" гэсэн үгийн товчлол. Хэвлэх, форматлах функцуудыг агуулдаг. import гэдэг нь "энэ package ашиглана" гэсэн мэдэгдэл.

go
func main() {
    fmt.Println("Сайн уу, дэлхий!")
}

func main() бол программын эхлэх цэг. Go compiler энэ функцийг хайдаг — байхгүй бол ажиллахгүй. fmt.Println(...) нь мөрийг хэвлэж, мөрийн төгсгөлд шинэ мөр (\n) нэмдэг.

Go Module үүсгэх

Жинхэнэ Go төсөл бичихдээ module үүсгэх шаардлагатай. Энэ нь go.mod файл үүсгэдэг:

bash
go mod init hello

go.mod файлын агуулга иймэрхүү харагдана:

код
module hello

go 1.22

Одоогоор энэ нь чухал биш — гэхдээ Go-д module-гүйгээр ажиллах боломжгүй болж байгаа учир заншил болгон үүсгэж байгаарай.

Олон зүйл хэвлэх

Нэг main.go файлд олон зүйл хэвлэж болно:

go
package main

import "fmt"

func main() {
    fmt.Println("Нэгдүгээр мөр")
    fmt.Println("Хоёрдугаар мөр")
    fmt.Println("Гурвадугаар мөр")
}

Гаралт:

код
Нэгдүгээр мөр
Хоёрдугаар мөр
Гурвадугаар мөр

Println дуудах бүрт шинэ мөрт очдог. Нэг мөрт үргэлжлүүлэхийг хүсвэл Print ашиглана — дараа нь fmt package-ийн хичээлд дэлгэрэнгүй үзнэ.

Нийтлэг алдаанууд

Go сурах эхэнд гардаг нийтлэг алдаануудыг танилцъя:

Unused import — import хийсэн ч ашиглаагүй:

go
import "fmt"   // ашиглаагүй бол алдаа гарна!

Go-д ашиглагдаагүй import байхыг зөвшөөрдөггүй — энэ нь кодыг цэвэр байлгахад тусалдаг.

Unused variable — зарласан ч ашиглаагүй хувьсагч:

go
func main() {
    x := 5   // ашиглаагүй бол алдаа!
}

Эдгээр алдаа нь Go-ийн хэлний онцлог — цэвэр, хэрэгцээтэй код бичихийг шаарддаг. Эхэндээ хэцүү санагдаж болох ч удалгүй дадна.

Дараагийн хичээлд:

var ба := ашиглан хувьсагч зарлаж, const ашиглан тогтмол тодорхойлно. Хувьсагч гэдэг нь утга хадгалдаг нэртэй хайрцаг — программынхаа дотор мэдээлэл хадгалж, ашиглаж сурна.