Saeed Heydari
Saeed Heydari
خواندن ۳ دقیقه·۲ سال پیش

آموزش 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


golangآموزشآموزش برنامه نویسیگو
من سعید حیدری،برنامه نویس و طراح وب و از علاقه مندان دنیای گنو/لینوکس هستم. بک اند با لاراول وGolang و فرانت اند با vuejs, nuxtjs کار می کنم. همچنین به بلاکچین، هوش مصنوعی و اینترنت اشیا علاقه مندم.
شاید از این پست‌ها خوشتان بیاید