سینتکس Go

ساختار کد Go: پکیج‌ها، import، توابع، تورفتگی و قوانین نگارشی.

ساختار کلی یک برنامه Go

package main          ← ۱. تعریف پکیج

import "fmt"          ← ۲. وارد کردن کتابخانه‌ها

func main() {         ← ۳. تابع اصلی
    fmt.Println("...") ← ۴. دستورات
}

پکیج‌ها (Packages)

هر فایل Go با تعریف پکیج شروع می‌شود. پکیج‌ها مثل پوشه‌هایی هستند که کدهای مرتبط را گروه‌بندی می‌کنند:

دستور import

// یک پکیج
import "fmt"

// چند پکیج
import (
    "fmt"
    "strings"
    "time"
)
وقتی چند پکیج import می‌کنید، از پرانتز و فرمت گروهی استفاده کنید — این سبک استاندارد Go است.

توابع (Functions)

func نام(پارامتر نوع) نوع‌بازگشتی {
    // بدنه تابع
}

// مثال
func add(a int, b int) int {
    return a + b
}

// پارامترهای هم‌نوع می‌توانند فشرده شوند
func add(a, b int) int {
    return a + b
}

تورفتگی (Indentation)

برخلاف Python، تورفتگی در Go اجباری برای معنا نیست اما استاندارد Go است:

آکولادها

قانون مهم: آکولاد باز باید در همان خط باشد!

// ✅ درست
func main() {
    fmt.Println("سلام")
}

// ❌ غلط — خطای کامپایل!
func main()
{
    fmt.Println("سلام")
}

حساسیت به حروف

ناممعنا در Go
fmt.Printlnحرف اول بزرگ = عمومی (قابل استفاده از بیرون پکیج)
fmt.printlnحرف اول کوچک = خصوصی (فقط داخل پکیج)

این قاعده بزرگی/کوچکی حرف اول یکی از هوشمندانه‌ترین ویژگی‌های Go است — بدون کلیدواژه‌های public/private!

نقطه‌ویرگول

در Go نیازی به نوشتن ; نیست. کامپایلر هنگام کامپایل، خودش در انتهای خطوط اضافه می‌کند. اما اگر خواستید چند دستور در یک خط بنویسید:

fmt.Println("سلام"); fmt.Println("دنیا")   ← مجاز اما غیراستاندارد

کلیدواژه‌های Go

Go فقط ۲۵ کلیدواژه دارد — کمترین تعداد بین زبان‌های مدرن!

break     case      chan      const     continue
default   defer     else      fallthrough for
func      go        goto      if        import
interface map       package   range     return
select    struct    switch    type      var

این مبحث بخشی از دوره آموزش کامل گو است.

ابزارهای مرتبط