من سعید حیدری،برنامه نویس و طراح وب و از علاقه مندان دنیای گنو/لینوکس هستم. بک اند با لاراول وGolang و فرانت اند با vuejs, nuxtjs کار می کنم. همچنین به بلاکچین، هوش مصنوعی و اینترنت اشیا علاقه مندم.
آموزش 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 به فارسی شیفت بیتی به راست، مقدار باینری ما را با به سمت راست انتقال میده.
اولویت عملگرها
در زبان گو ما یکسری اولویت ها برای عملگرها داریم و همچنین در زبان گو مثل سایر زبان ها عبارات داخل پرانتز () نسبت به سایر عبارات اولویت دارن. برای درک بهتر عملکرد عملگرها لازمه اولویت اون ها رو بشناسیم. (به ترتیب از بالا به پایین اولویت بیشتر دارن)
* / % << >> & ^&
+ - | ^
== != < <= > >=
&&
||
مطلبی دیگر از این انتشارات
نوع متغییر تابع در go
مطلبی دیگر از این انتشارات
مفهوم Context در زبان Go
مطلبی دیگر از این انتشارات
Gin Web Framework part 1