پرش به محتوا

زبان برنامه‌نویسی گو/عملگرها و عبارات

ویکی‎کتاب، کتابخانهٔ آزاد
بلوک‌های کد عملگرها و عبارات شرط ها if , else , switch
زبان برنامه‌نویسی گو


عملگرها و عبارات در زبان برنامه‌نویسی 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
}