آموزش golang - قدم پنجم: متغیرها

سلام دوستان، من برگشتمتو بخش قبلی درمورد کلمات کلیدی و شناسه ها صحبت کردیم. تو این بخش می خوایم درمورد متغیرها، نحوه ی تعریف اون ها و انواع داده یاد بگیریم.متغیر چیه؟برای درک متغیرها اول باید با ساختار کامپیوتر و حافظه ی اون آشنا بشید. کامپیوترها همه چی رو مثل ما تو حافظه نگه می دارن با این تفاوت که حافظه ی اونا به بخش های کوچکی تقسیم بندی شده که به ترتیب شماره گذاری شدن. به خاطر سپاری این شماره ها برا ما غیرممکنه و از طرفی کامپیوتر داده هایی که بهش میدیم رو تو خونه هایی که خالی هستن قرار میده برای همین اینکه بدونیم متغیر ما در هر لحظه تو کدوم خونه است خیلی سخته. به همین دلیل به هر بخش از حافظه که می خوایم اطلاعاتمون رو توش ذخیره کنیم یه اسم اختصاص میدیم که بهش متغیر گفته میشه. برای درک بهتر این طوری در نظر بگیرید که هر خونه توی شهر یه آدرس پستی داره ولی شما وقتی می خواید به خونه ی عموتون اشاره کنید نمی گید خونه ای که فلان آدرس پستی رو داره بلکه میگید خونه عموم و اعضای خانواده متوجه میشن. این اسم گذاری میشه همون مفهوم متغیر.تایپیک تایپ مشخص کننده نوع داده است، که به کامپایلر می‌گه قراره چه نوع داده ای داخل یک متغیر ذخیره بشه. زبان ها انواع تایپ های مختلفی به صورت پیشفرض دارند که می تونیم از اون ها داخل برنامه استفاده کنیم. تایپ ها به دو دسته تقسیم میشن:اونایی که Static Type هستن مثل C, Cpp , Java و ... . در این دسته که golang هم تو این دسته بندی قرار داده ما باید نوع متغیرمون رو مشخص کنیم و اون متغیر فقط همون نوع داده رو قبول می کنه. مثلا برای اسم باید نوع متغیر ما رشته ای (string) باشه و فقط اجازه داره رشته قبول کنه و اگه بهش مقدار ۱۰ بدیم ارور میده.دسته ی دوم Dynamic Type هستن مثل Python, Js و ... . در این دسته نیازی به مشخص کردن نوع داده نیست و نوع متغیر براساس مقداری که داره مشخص میشه. مثلا ممکنه اولش مقدار ۱۰ داشته باشه که نوعش میشه عددی، و کمی بعدتر بهش مقدار "saeed" رو بدیم که نوعش میشه رشته.نحوه ی تعریف متغیربرای تعریف متغیر تو گو ما دو راه داریم یکی تعریف صریح اون:var age intیا تعریف اون با مقدار دهی:age := 10زبان گو از هر دو روش پشتیبانی داره. اینم اضافه کنم که برای اسامی متغیرها باید از شناسه های معتبر استفاده کنید.اگه دقت کنید تو تعریف صریح ما از کلمه ی var استفاده کردیم. تو این روش ساختار تعریف ما به این شکلهvar variable_name variable_typeتو این روش متغیر ما یه مقدار پیشفرض میگیره که در ادامه توضیح میدم. تعیین تایپ متغیر هم الزامیه.تو روش غیر صریح که به شکل زیر هست، نوع داده توسط خود کامپایلر و براساس مقداری که بهش داریدم تشخیص داده میشه و نیازی نیست که تایپ رو مشخص کنیم.variable_name := valueبرای اینکه بهتر بتونیم با متغیرها کار کنیم بهتره انواع داده و مقادیر پیشفرض اون ها رو تو golang رو بدونیم. تو قسمت بعدی درمورد انواع داده و مقادیر پیشفرض اون ها توضیح میدم. بدرود! https://virgool.io/@saeedheydari/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%85%D9%82%D8%AF%D9%85%D8%A7%D8%AA%DB%8C-golang-%D9%82%D8%AF%D9%85-%D8%B5%D9%81%D8%B1-ufv22zb4j3bq https://virgool.io/@saeedheydari/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%85%D9%82%D8%AF%D9%85%D8%A7%D8%AA%DB%8C-golang-%D8%A8%D8%AE%D8%B4-%D8%AF%D9%88%D9%85-wyvs1idjyan2 https://virgool.io/@saeedheydari/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-golang-%D9%82%D8%AF%D9%85-%D8%B3%D9%88%D9%85-e3mxmjr1mp74 https://virgool.io/@saeedheydari/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-golang-%D9%82%D8%AF%D9%85-%DA%86%D9%87%D8%A7%D8%B1%D9%85-ydltpxgtgdlj https://virgool.io/@saeedheydari/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-golang-%D9%82%D8%AF%D9%85-%D8%B4%D8%B4%D9%85-k6cpaqgybxz2 https://virgool.io/@saeedheydari/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-golang-%D9%82%D8%AF%D9%85-%D9%87%D9%81%D8%AA%D9%85-jf9cn4h6fgri https://virgool.io/@saeedheydari/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-golang-%D9%82%D8%AF%D9%85-%D9%87%D9%81%D8%AA%D9%85-%D9%85%D8%AA%D8%BA%DB%8C%D8%B1%D9%87%D8%A7-%D9%88-constant-oqvlbp5q2hg6 https://virgool.io/@saeedheydari/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-golang-%D9%82%D8%AF%D9%85-%D9%86%D9%87%D9%85-%D8%AA%D8%A7%D8%A8%D8%B9-nat6a2yfyqe3