متغیرها در جولیا
تعریف متغیر، قوانین نامگذاری، قراردادها و ثابتها با const
متغیر چیست؟
متغیر (Variable) نامی است که به یک مقدار وصل میشود:
name = "علی" # متغیر name با مقدار "علی"
age = 25 # متغیر age با مقدار 25
println(name) # علی
println(age) # 25
تعریف متغیر در جولیا
در جولیا نوع تعریف نمیکنید — جولیا خودش از روی مقدار تشخیص میدهد:
count = 10 # Int64
price = 99.5 # Float64
title = "جولیا" # String
isActive = true # Bool
letter = 'A' # Char (کاراکتر واحد)
نوع متغیر قابل تغییر است
برخلاف زبانهای استاتیک، میتوانید نوع متغیر را عوض کنید:
x = 10 # Int64
println(typeof(x))
x = "سلام" # حالا String!
println(typeof(x))
قوانین نامگذاری
| نام | وضعیت |
|---|---|
name | ✅ صحیح |
user_name | ✅ صحیح |
x2 | ✅ صحیح |
2name | ❌ شروع با عدد |
user-name | ❌ خط تیره (بهعنوان تفریق خوانده میشود!) |
function | ❌ کلمه رزرو شده |
δ, σ, x² | ✅ یونیکد مجاز است! |
قرارداد نامگذاری
- متغیرها و توابع: حروف کوچک —
total,sum_squares - ثابتها: حروف بزرگ —
MAX_RETRIES - انواع: CamelCase —
StudentRecord
تخصیص چندگانه
x, y = 10, 20
println(x, " ", y) # 10 20
# جابجایی (swap) بدون متغیر کمکی!
x, y = y, x
println(x, " ", y) # 20 10
# مقداردهی همزمان
a = b = c = 0
ثابتها با const
برای مقادیری که نباید تغییر کنند:
const GRAVITY = 9.81
const MAX_USERS = 1000
println(GRAVITY)
استفاده از
const به کامپایلر جولیا کمک میکند کد سریعتری تولید کند — برای مقادیر ثابت واقعی همیشه از آن استفاده کنید.نامهای علمی و یونیکد
جولیا برای کد علمی طراحی شده و از نامهای یونیکد پشتیبانی کامل دارد:
α = 0.05 # سطح معناداری آماری
π = 3.14159 # البته جولیا خودش pi دارد!
println(π)
# در REPL: \alpha + Tab = α
دامنه متغیر (Scope) — مقدمه
x = 10 # سراسری
function test()
y = 20 # محلی — فقط داخل تابع
println("داخل: x = $x, y = $y")
end
test()
println("بیرون: x = $x")
-- println(y) -- ❌ y اینجا وجود ندارد!
در جولیا متغیرهای تعریفشده داخل حلقهها و توابع محلی هستند. برای تغییر متغیر سراسری داخل تابع باید از
global استفاده کنید — اما بهتر است از این کار پرهیز کنید!این مبحث بخشی از دوره آموزش کامل جولیا است.