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