1 نظرة عامة على عوامل جو لغة البرمجة
في لغة البرمجة جو، تُستخدم العوامل لتنفيذ عمليات رمز البرنامج، بما في ذلك العمليات الحسابية والمقارنات العلاقية والعمليات المنطقية، وغير ذلك. تتوافق العوامل المختلفة مع وظائف مختلفة وسيناريوهات استخدام مختلفة. فهم واستيعاب هذه العوامل هو الأساس لبرمجة فعالة.
2 العوامل الحسابية
توفر لغة جو مجموعة من العوامل الحسابية:
- الجمع (+): عملية جمع
- الطرح (-): عملية طرح
- الضرب (*): عملية ضرب
- القسمة (/): عملية قسمة
- الباقي (%): عملية الباقي
أمثلة:
package main
import "fmt"
func main() {
// عملية الجمع
sum := 10 + 5
fmt.Println("10 + 5 =", sum) // يخرج 15
// عملية الطرح
diff := 10 - 5
fmt.Println("10 - 5 =", diff) // يخرج 5
// عملية الضرب
prod := 10 * 5
fmt.Println("10 * 5 =", prod) // يخرج 50
// عملية القسمة
quot := 10 / 5
fmt.Println("10 / 5 =", quot) // يخرج 2
// عملية الباقي
rem := 10 % 5
fmt.Println("10 % 5 =", rem) // يخرج 0
}
3 العوامل المنطقية
تُستخدم العوامل المنطقية في لغة جو لربط شروط متعددة (تُستخدم عموماً لقيم بولية). تتضمن ثلاثة أنواع: "و" (&&)، "أو" (||)، و"ليس" (!).
3.1 "و" (&&)
عندما تكون جميع الشروط صحيحة، فإن نتيجة عملية "و" تكون صحيحة.
أمثلة:
package main
import "fmt"
func main() {
fmt.Println(true && true) // يخرج صحيح
fmt.Println(true && false) // يخرج خاطئ
fmt.Println(false && false) // يخرج خاطئ
// النتيجة تكون صحيحة فقط إذا كانت كل الشروط صحيحة
}
3.2 "أو" (||)
إذا كان شرط واحد على الأقل صحيحًا، فإن نتيجة عملية "أو" تكون صحيحة.
أمثلة:
package main
import "fmt"
func main() {
fmt.Println(true || true) // يخرج صحيح
fmt.Println(true || false) // يخرج صحيح
fmt.Println(false || false) // يخرج خاطئ
// النتيجة تكون صحيحة إذا كان شرط واحد على الأقل صحيحًا
}
3.3 "ليس" (!)
تُستخدم لعكس القيمة البولية لشرط.
أمثلة:
package main
import "fmt"
func main() {
fmt.Println(!true) // يخرج خاطئ
fmt.Println(!false) // يخرج صحيح
// يعكس القيمة البولية
}
4 العوامل المقارنة
تُستخدم العوامل المقارنة في لغة جو لمقارنة متغيرين أو قيم:
- مساوٍ لـ (==)
- غير مساوٍ لـ (!=)
- أكبر من (>)
- أصغر من (<)
- أكبر من أو مساوٍ لـ (>=)
- أصغر من أو مساوٍ لـ (<=)
نتيجة عمليات المقارنة هي قيمة بولية: صحيح
أو خاطئ
.
5 العوامل الثنائية
في لغة جو، تسمح العوامل الثنائية لنا بالتلاعب مباشرة بالبتات الثنائية للبيانات:
- و (وتش)
- أو (أو)
- أو بت ضربي (XOR)
- تحريك البتات لليسار (<<)
- تحريك البتات لليمين (>>)
تُستخدم العوامل الثنائية بشكل رئيسي في البرمجة على مستوى منخفض، مثل العمليات المباشرة على الأجهزة والتشفير وسيناريوهات أخرى.
6 العوامل التعيينية
تُستخدم العوامل التعيينية لتعيين قيم للمتغيرات. في لغة جو، هناك أشكال متعددة من العوامل التعيينية:
- العينة البسيطة (=)
- العينة الزائدة (+=)
- العينة الناقصة (-=)
- العينة المضاعفة (*=)
- العينة المقسومة (/=)
- العينة الباقية (%=)
تجعل هذه العوامل الشيفرة أكثر إيجازًا. على سبيل المثال، x += 1
يعادل x = x + 1
.
7 العوامل الخاصة
7.1 عوامل الزيادة (++) والنقصان (--)
تُستخدم عوامل الزيادة (++) والنقصان (--) لإضافة 1 وطرح 1 من قيمة متغير ما، على التوالي. إنهما العوامل الوحيدة في لغة جو التي يمكن أن تعمل مباشرة على المتغير نفسه (وليس على تعبير).
package main
import "fmt"
func main() {
x := 1
x++
fmt.Println("x++ =", x) // يطبع 2
y := 10
y--
fmt.Println("y-- =", y) // يطبع 9
}
ملاحظة أنّ في لغة Go، x++
أو x--
لا يمكن أن يكونا جزءًا من تعبير. على سبيل المثال، z := x++
غير مسموح به.
7.2 تحويل الأنواع
لغة Go هي لغة ذات نوعية ثابتة، مما يعني أنه بمجرد تعريف متغير، لا يمكن تغيير نوعه. لذلك، في بعض الأحيان يكون من الضروري تحويل متغير من نوع واحد إلى نوع آخر. لغة Go لا تحتوي على التحويل التلقائي للأنواع؛ بل يتطلب التحويل التوضيحي.
مثال:
package main
import (
"fmt"
)
func main() {
var i int = 42
fmt.Println(float64(i)) // تحويل int إلى float64
var f float64 = 3.14
fmt.Println(int(f)) // تحويل float64 إلى int، الجزء العشري سيتم تجاهله
}
عند القيام بتحويل الأنواع، من المهم ضمان سلامة البيانات أثناء عملية التحويل، مثل الخسارة المحتملة للدقة عند تحويل الرقم العشري إلى عدد صحيح.