پرش به محتوا

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

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


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