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

آموزش golang - قدم هفتم: عملگرها

سلام دوستان

تو این قسمت درمورد عملگرها تو go توضیح میدم. زبان گو هم مثل سایر زبان ها دارای یکسری عملگرها مانند: عملگرهای حسابی, عملگرهای مقایسه ای, عملگرهای منطقی و عملگرهای بیتی هست.

عملگرهای حسابی:

زبان گو ۵ تا عملگر حسابی داره:

  • جمع (+)
  • تفریق‌(-)
  • ضرب‌(*)
  • تقسیم (/)
  • باقیمانده (٪)
a := 1 b := 2 c := a + b // 3 d := a - b // -1 e := a * b // 2 f := a / b // 0 g := a % b // 1

عملگرهای مقایسه ای:

زبان گو ۶ تا عملگر مقایسه ای داره:

  • مساوی بودن با (==)
  • مساوی نبودن با (=!)
  • کمتر از (>)
  • کمتر یا مساوی با (=>)
  • بزرگتر (<)
  • بزرگتر یا مساوی با (=<)

حاصل استفاده از این عملگرها مقدار true یا false می باشد.

a := 1 b := 2 c := 1 a == b // false a < b // true a <= c // true c != a // false c != b // true

عملگرهای منطقی:

زبان گو ۳ تا عملگر منطقی داره:

  • AND ( && )
  • OR ( || )
  • NOT ( ! )
  • عملگر && به انگلیسی AND به فارسی "و": اگر هردو عملگر true باشه مقدار بازگشتی true و در غیر اینصورت false میشه.
  • عملگر || به انگلیسی OR به فارسی یا , اگر یکی از عملگرها true باشه مقدار بازگشتی true در غیر این صورت false میشه.
  • عملگر ! به انگلیسی NOT به فارسی نفی: زمانیکه شما از عملگر ! استفاده می کنید معکوس نتیجه عملوند را نیاز دارید.
a := true
b := true
c := false
fmt.Println(a && b) //true
fmt.Println(a || b) //true
fmt.Println(!a) //false
fmt.Println(!c) //true

عملگرهای بیتی:

زبان گو ۵ تا عملگر بیتی داره:

  • شیفت بیتی به چپ (>>)
  • شیفت بیتی به راست (<<)
  • AND ( & )
  • OR ( | )
  • XOR ( ^ )

عملگر >> به انگلیسی Zero fill left shift یا به اختصار left shift به فارسی شیفت بیتی به چپ، مقدار باینری ما را با استفاده از انتقال یا اضافه کردن صفر ها به سمت چپ انتقال میده.

عملگر << به انگلیسی Zero fill right shift یا به اختصار right shift به فارسی شیفت بیتی به راست، مقدار باینری ما را با به سمت راست انتقال میده.

اولویت عملگرها

در زبان گو ما یکسری اولویت ها برای عملگرها داریم و همچنین در زبان گو مثل سایر زبان ها عبارات داخل پرانتز () نسبت به سایر عبارات اولویت دارن. برای درک بهتر عملکرد عملگرها لازمه اولویت اون ها رو بشناسیم. (به ترتیب از بالا به پایین اولویت بیشتر دارن)

* / % << >> & ^&
+ - | ^
== != < <= > >=
&&
||
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-%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-%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 کار می کنم. همچنین به بلاکچین، هوش مصنوعی و اینترنت اشیا علاقه مندم.
انتشارات GoLang امیدوار است با تدوین، انتشار و ترجمه مقاله های به روز زبان برنامه نویسی Go Lang قدمی هر چند کوچک در جهت کمک به توسعه دهندگان پارسی زبان بردارد. از همه علاقه مندان دعوت می شود که مقاله های ارزشمند خود را در این انتشارات منتشر کنند.
شاید از این پست‌ها خوشتان بیاید