متغیرها

تعریف متغیر با var و :=، قوانین نام‌گذاری، مقدار صفر (Zero Value) و ثابت‌ها.

متغیر چیست؟

متغیر like یک جعبه برچسب‌دار است که داده را در حافظه نگه می‌دارد. در Go متغیرها ایستا-تایپ هستند: نوع هر متغیر در زمان کامپایل مشخص است و تغییر نمی‌کند.

سه روش تعریف متغیر

۱. با کلیدواژه var (نوع صریح)

var name string = "علی"
var age int = 25
var pi float64 = 3.14

۲. با var (نوع استنتاجی)

کامپایلر از مقدار، نوع را حدس می‌زند:

var name = "علی"      ← string
var age = 25          ← int
var pi = 3.14         ← float64

۳. با عملگر := (فقط داخل تابع!)

محبوب‌ترین و کوتاه‌ترین روش:

name := "علی"         ← string
age := 25             ← int
pi := 3.14            ← float64
عملگر := فقط داخل توابع قابل استفاده است! در سطح پکیج باید از var استفاده کنید.

تعریف چند متغیر یکجا

// با var
var a, b, c int = 1, 2, 3
var (
    name   string = "علی"
    age    int    = 25
    active bool   = true
)

// با :=
x, y := 10, 20

مقدار صفر (Zero Value)

اگر متغیری بدون مقدار اولیه تعریف شود، Go آن را با مقدار صفر آن نوع مقداردهی می‌کند:

نوعمقدار صفر
int, float640
string"" (رشته خالی)
boolfalse
اشاره‌گر، slice، mapnil
var x int      // 0
var s string   // ""
var b bool     // false
fmt.Println(x, s, b)  ← 0  false

قوانین نام‌گذاری

ثابت‌ها (Constants)

ثابت‌ها مقدارشان در طول اجرا تغییر نمی‌کند:

const Pi = 3.14159
const SiteName = "لرنینگ سیتی"

const (
    StatusOK    = 200
    StatusError = 500
)
ثابت‌ها باید در زمان کامپایل قابل تعیین باشند — نمی‌توانید نتیجه یک محاسبه runtime را ثابت کنید.

مثال کامل

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

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