زبان برنامهنویسی گو/عملگرها و عبارات
ظاهر
| بلوکهای کد | عملگرها و عبارات | شرطها |
| زبان برنامهنویسی گو |
عملگرها و عبارات در زبان برنامهنویسی Go
[ویرایش]در زبان برنامهنویسی Go، عملگرها برای انجام عملیاتهای مختلف بر روی دادهها و متغیرها به کار میروند. این عملیاتها شامل عملگرهای حسابی، انتساب، مقایسهای، منطقی و بیتی است. عبارات (Expressions) نیز از ترکیب عملگرها، متغیرها و مقادیر برای ایجاد عملیاتهای پیچیدهتر تشکیل میشوند.
عملگرهای حسابی (Arithmetic Operators)
[ویرایش]عملگرهای حسابی برای انجام عملیات ریاضی پایه استفاده میشوند:
- + (جمع): دو مقدار را با هم جمع میکند. مثال: 5 + 3 نتیجه: 8
- - (تفریق): مقدار دوم را از مقدار اول کم میکند. مثال: 10 - 4 نتیجه: 6
- * (ضرب): دو مقدار را در هم ضرب میکند. مثال: 7 * 2 نتیجه: 14
- / (تقسیم): مقدار اول را بر مقدار دوم تقسیم میکند. مثال: 15 / 3 نتیجه: 5
- % (باقیمانده تقسیم): باقیمانده تقسیم مقدار اول بر مقدار دوم را برمیگرداند. مثال: 10 % 3 نتیجه: 1
نمونه کد:
package main
import "fmt"
func main() {
a := 10
b := 3
fmt.Println("جمع: ", a + b) // خروجی: 13
fmt.Println("تفریق: ", a - b) // خروجی: 7
fmt.Println("ضرب: ", a * b) // خروجی: 30
fmt.Println("تقسیم: ", a / b) // خروجی: 3
fmt.Println("باقیمانده: ", a % b) // خروجی: 1
}
عملگرهای انتساب (Assignment Operators)
[ویرایش]عملگرهای انتساب برای تخصیص مقدار به یک متغیر استفاده میشوند:
- = (انتساب): مقدار را به متغیر تخصیص میدهد. مثال: a = 5
- += (جمع و انتساب): مقدار را جمع کرده و به متغیر تخصیص میدهد. مثال: a += 3
- -= (تفریق و انتساب): مقدار را تفریق کرده و به متغیر تخصیص میدهد. مثال: a -= 2
- *= (ضرب و انتساب): مقدار را ضرب کرده و به متغیر تخصیص میدهد. مثال: a *= 2
- /= (تقسیم و انتساب): مقدار را تقسیم کرده و به متغیر تخصیص میدهد. مثال: a /= 2
- %= (باقیمانده تقسیم و انتساب): باقیمانده را محاسبه و به متغیر تخصیص میدهد. مثال: a %= 3
نمونه کد:
package main
import "fmt"
func main() {
x := 5
x += 3 // x = 8
fmt.Println(x)
x *= 2 // x = 16
fmt.Println(x)
}
عملگرهای مقایسهای (Comparison Operators)
[ویرایش]عملگرهای مقایسهای برای مقایسه مقادیر دو عبارت استفاده میشوند. نتیجه این مقایسهها یک مقدار بولین (true یا false) خواهد بود:
- == (برابر بودن): بررسی میکند که آیا دو مقدار برابرند. مثال: 5 == 5 نتیجه: true
- != (نابرابر بودن): بررسی میکند که آیا دو مقدار نابرابرند. مثال: 5 != 3 نتیجه: true
- > (بزرگتر بودن): بررسی میکند که آیا مقدار اول بزرگتر از مقدار دوم است. مثال: 7 > 4 نتیجه: true
- < (کوچکتر بودن): بررسی میکند که آیا مقدار اول کوچکتر از مقدار دوم است. مثال: 3 < 5 نتیجه: true
- >= (بزرگتر یا مساوی بودن): بررسی میکند که آیا مقدار اول بزرگتر یا مساوی با مقدار دوم است. مثال: 5 >= 5 نتیجه: true
- <= (کوچکتر یا مساوی بودن): بررسی میکند که آیا مقدار اول کوچکتر یا مساوی با مقدار دوم است. مثال: 4 <= 5 نتیجه: true
نمونه کد:
package main
import "fmt"
func main() {
a := 10
b := 20
fmt.Println(a == b) // false
fmt.Println(a != b) // true
fmt.Println(a > b) // false
fmt.Println(a < b) // true
fmt.Println(a >= b) // false
fmt.Println(a <= b) // true
}
عملگرهای منطقی (Logical Operators)
[ویرایش]عملگرهای منطقی برای ترکیب عبارات شرطی استفاده میشوند:
- && (AND منطقی): هر دو شرط باید درست باشند تا نتیجه درست باشد. مثال: (true && false) نتیجه: false
- || (OR منطقی): یکی از شرایط باید درست باشد تا نتیجه درست باشد. مثال: (true || false) نتیجه: true
- ! (NOT منطقی): نتیجه شرط را معکوس میکند. مثال: !true نتیجه: false
نمونه کد:
package main
import "fmt"
func main() {
a := true
b := false
fmt.Println(a && b) // false
fmt.Println(a || b) // true
fmt.Println(!a) // false
}
عملگرهای بیتی (Bitwise Operators)
[ویرایش]عملگرهای بیتی بر روی اعداد در سطح بیت عمل میکنند:
- & (AND بیتی): هر دو بیت باید 1 باشند تا نتیجه 1 باشد. مثال: 5 & 3 نتیجه: 1
- | (OR بیتی): یکی از بیتها باید 1 باشد تا نتیجه 1 باشد. مثال: 5 | 3 نتیجه: 7
- ^ (XOR بیتی): بیتها باید متفاوت باشند تا نتیجه 1 باشد. مثال: 5 ^ 3 نتیجه: 6
- << (شیفت چپ): بیتها به سمت چپ شیفت داده میشوند. مثال: 2 << 1 نتیجه: 4
- >> (شیفت راست): بیتها به سمت راست شیفت داده میشوند. مثال: 8 >> 1 نتیجه: 4
نمونه کد:
package main
import "fmt"
func main() {
x := 5 // 101 در مبنای ۲
y := 3 // 011 در مبنای ۲
fmt.Println(x & y) // 1
fmt.Println(x | y) // 7
fmt.Println(x ^ y) // 6
fmt.Println(x << 1) // 10
fmt.Println(x >> 1) // 2
}