ماڈیول اسباق (1/5)
متغیرات اور اقسام
گو میں ہر متغیر کی ایک سٹیٹک قسم ہوتی ہے جو کمپائلر کو معلوم ہوتی ہے: ایک بار اعلان کیا، ایک متغیر قسم کو تبدیل نہیں کر سکتا۔ یہ سختی - بہت مختلف ہے۔ JavaScript یا Python سے — وہ قیمت ہے جو آپ کمپائل ٹائم حاصل کرنے کے لیے ادا کرتے ہیں۔ رن ٹائم کی بجائے غلطیاں، چھوٹی بائنریز، اور قابل پیشن گوئی کارکردگی
اعلامیہ کی دو شکلیں۔
var واضح قسم کے ساتھ
var name string = "Ada"
var age int = 36
var active boolجب آپ قدر کو چھوڑ دیتے ہیں (جیسا کہ var active bool میں) متغیر کو موصول ہوتا ہے
اس کی قسم کی صفر قدر — ہم اگلے سبق میں اس پر واپس آئیں گے۔
مختصر اعلان :=
ایک فنکشن کے اندر آپ := استعمال کر سکتے ہیں، جس سے قسم کا اندازہ ہوتا ہے
دائیں طرف اظہار. یہ محاوراتی شکل ہے اور جسے آپ استعمال کریں گے۔
90% وقت:
name := "Ada" // string
age := 36 // int
pi := 3.14 // float64
active := true // boolبنیادی اقسام جن سے آپ ابھی ملیں گے۔
| قسم | مثال | نوٹس |
|---|---|---|
int | 42 | سائز CPU (32 یا 64 بٹ) پر منحصر ہے |
float64 | 3.14 | ڈیفالٹ برائے ڈیسیمل لٹریلز |
string | "Ada" | UTF-8، ناقابل تغیر |
bool | true, false | کوئی "سچائی" نہیں، صرف خالص بول |
rune | 'A' | int32 کا عرف، یونیکوڈ کوڈ پوائنٹ کی نمائندگی کرتا ہے |
byte | 0x7F | uint8 کا عرف |
int8/16/32/64، uint8/16/32/64، float32 اور complex64/128 بھی ہیں
جب آپ کو درست سائز کی ضرورت ہو (بائنری پارسنگ، انٹراپ، وغیرہ)۔
متعدد اعلانات
آپ var-بلاک یا جمع := کے ساتھ کئی متغیرات کا اعلان کر سکتے ہیں:
var (
name string = "Ada"
age int = 36
active bool
)
x, y := 10, 20
a, b, c := "a", 2, true // different types: no problemمتغیرات کا اعلان کیا گیا لیکن استعمال نہیں ہوا۔
گو سخت ہے: ایک متغیر اعلان شدہ اور کبھی استعمال نہیں کیا گیا ایک تالیف ہے۔
غلطی، انتباہ نہیں۔ یہی بات غیر استعمال شدہ import پر لاگو ہوتی ہے۔
func main() {
x := 42
// error: x declared and not used
}اصول کو عارضی طور پر خاموش کرنے کے لیے آپ _ (خالی شناخت کنندہ):
_ = xآپ کی باری
'Ada' ویلیو کے ساتھ ٹائپ سٹرنگ کے متغیر نام کا اعلان کرنے کے لیے var کا استعمال کریں اور اسے پرنٹ کریں۔
اشارہ دکھائیں۔
لمبی شکل `var <name> <type> = <value>` ہے۔
3 کوششوں کے بعد حل دستیاب ہے۔
ایک لائن پر، عمر کے لیے 36 اور 'Roma' کو شہر میں تفویض کرنے کے لیے := استعمال کریں، پھر دونوں کو پرنٹ کریں۔
اشارہ دکھائیں۔
آپ ایک ساتھ متعدد متغیرات تفویض کر سکتے ہیں: `a, b := 1, "deue"`۔
3 کوششوں کے بعد حل دستیاب ہے۔
ان میں سے کون سا اعلامیہ تالیف کی خرابی پیدا کرتا ہے اگر کسی فنکشن کے باہر رکھا جائے؟
// (a)
var name string = "Ada"
// (b)
age := 36
// (c)
const PI = 3.14Recap
- جامد قسم، خود بخود
:=سے اندازہ لگایا گیا ہے یاvarکے ساتھ اعلان کیا گیا ہے۔ :=صرف اندر کے افعال؛ پیکیج کی سطح پر صرفvar/const۔- غیر استعمال شدہ متغیرات اور درآمدات = تالیف کی خرابی: ان کو خاموش کرنے کے لیے
_استعمال کریں۔ int/float64/string/boolروزمرہ کے 90% کیسز کا احاطہ کرتا ہے۔