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

آموزش golang - قدم چهارم: کلمات کلیدی و شناسه ها

سلام دوستان عزیز من با قدم چهارم برگشتم.
این بخش می خوایم درمورد کلمات کلیدی، شناسه ها صحبت کنیم.

کلمات کلیدی

زبان گو تا نسخه ی فعلی (۱.۱۹)، ۲۵ کلمه ی کلیدی داره که لیستش کردم.

break case chan const continue default defer else fallthrough for func go goto if import interface map package range return select struct switch type var

همون طور که میبیند تعداد کلمات کلیدی گو نسبت به زبان هایی مثل Java یا C# خیلی کمتره و همین باعث یادگیری ساده تر اون شده. البته نبود برخی موارد که باعث کاهش پیچیدگی شده ممکنه باعث بشه برای کار مشابه کد بیشتری لازم باشه بزنید.

این کلمات کلیدی به ۴ دسته کلی تقسیم بندی میشن:

  • کلمات کلیدی که بصورت گلوبال در بدنه قرار می‌گیرن «package, import, type, var, const, func»
  • کلمات کلیدی کامپوزیت «struct, inteface, map, chan»
  • کلمات کلیدی که در کنترل جریان کد استفاده می‌شون «break, case, continue, default, if, else, for, fallthrough, goto, range, return, switch, select»

به مرور سعی می کنم این موارد رو بیشتر توضیح بدم.

شناسه ها

شناسه ها برای نامگذاری استفاده می شن و یه سری قواعد کلی دارن که باید رعایت کنید تا کد خطا نده و یه سری اصول قراردادی هم برای استفاده از اون ها هست که بین برنامه نویسان هر زبان رایجه مثل نحوه ی اسم گذاری متغیرها، توابع و متودها و ...

تعریف شناسه رو این طوری میشه گفت: شناسه توکنی هست که باید از حروف یونیکد، ارقام و خط زیرین (_) تشکیل شده باشه.

قواعد شناسه ها:

  • برای نامگذاری باید از حروف a-z یا A-Z و یا اعداد ۰-۹ استفاده کنید
  • نام شناسه ها نباید با اعداد شروع بشه
  • نام شناسه ها به حروف کوچیک و بزرگ حساس هستند
  • نمی شه از کلمات کلیدی استفاده کنید
  • برای تعداد حروف شناسه ها هیچ محدودیتی نیست ولی بهتره بین ۴ تا ۱۵ حرف باشه.
//correct _saeed saeed Saeed sa33d saeed_2311 // Incorrect if default 23saeed

تو زبان گو یه سری شناسه برای برخی موارد مثل نوع متغیرها (تو قسمت های بعدی درموردش می گم) یا یه سری از توابع رزرو شدن. مثل موارد زیر:

int uint float32 bool byte
make new len delete complex

این قسمت هم به پایان رسید. منتظر قسمت های بعدی باشید.

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-%D9%BE%D9%86%D8%AC%D9%85-regehw9odr8y
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 کار می کنم. همچنین به بلاکچین، هوش مصنوعی و اینترنت اشیا علاقه مندم.
شاید از این پست‌ها خوشتان بیاید