بسم الله الرحمن الرحيم
جمل أتخاذ القرار if:
تستخدم جمل اتخاذ القرار لتحكم في سير تنفيذ البرنامج بناء على البيانات و المقارنات كهذا المثال في لغة Go:
الطريق المستخدم في مثالنا الأول مشابه للغة السي و الجافا و المختلف في لغة Go أنه تم ألغاء استخدام القوسين () و لم يمكن أستخدمها حتى اختيارياً , أما القوسين { } المستخدمين لتحديد الكود المراد تنفيذه عن مطابقة الشرط فأصبحت أجبارية .
if x < 20 {
fmt.Println("x<20")
}
fmt.Println("x<20")
}
في مثالنا سيتم المقارنة بواسطة "x < 20" و في حالة مطابقة الشرط سيتم تنفيذ السطر الموجود بين القوسين { } , و هذا هي عوامل المقارنة في لغة GO :
- < : أكبر من
- > : أصغر من
- == : مساوي لي
- != : غير مساوي
- && : كلنا من المقارنات صحيح
- || : أحد من المقارنات صحيح
و هذه أمثلة على أستخدام بعض هذه التعابير :
1. المقارنة ( غير مساوي ):
في هذا المثال قارنا بين القيمة 12 و 1 و بواسطة != و في حالة كانت المقارنة صحيحة سيتم طباعة الكلمة "true"
2. && ( كلن من المقارنات صحيح ) :
3 . || ( أحد المقارنات صحيح ) :
و في لغة Go هنالك طريقة جديدة للتصريح عن جملة المقارنة if :
1. المقارنة ( غير مساوي ):
package main
import "fmt"
func main(){
if 12 != 1 {
fmt.Println("true") }
}
import "fmt"
func main(){
if 12 != 1 {
fmt.Println("true") }
}
في هذا المثال قارنا بين القيمة 12 و 1 و بواسطة != و في حالة كانت المقارنة صحيحة سيتم طباعة الكلمة "true"
2. && ( كلن من المقارنات صحيح ) :
package main
import "fmt"
func main(){
if 12 != 1 && 12 > 1{
fmt.Println("true") }
}
import "fmt"
func main(){
if 12 != 1 && 12 > 1{
fmt.Println("true") }
}
3 . || ( أحد المقارنات صحيح ) :
package main
import "fmt"
func main(){
if 12 != 1 || 12 > 1{
fmt.Println("true") }
}
import "fmt"
func main(){
if 12 != 1 || 12 > 1{
fmt.Println("true") }
}
و في لغة Go هنالك طريقة جديدة للتصريح عن جملة المقارنة if :
package main
import "fmt"
func pow(x int) int{
return x*x*x
}
func main(){
n := 4
c := 14
if v := pow(n); v > c {
fmt.Println(v)
}
}
import "fmt"
func pow(x int) int{
return x*x*x
}
func main(){
n := 4
c := 14
if v := pow(n); v > c {
fmt.Println(v)
}
}
لقد قمنا في هذا المثال بالتصريح عن المتغير في نفس السطر الخاص بالجملة القرار if و فصلنها بواسطة ";" عن المقارنة :
if v := pow(n); v > c {
fmt.Println(v)
}
fmt.Println(v)
}
- الجملة القرار if-else :
في حالة وجود مقارنة تستطيع أستخدام الجملة if else كهذا المثال :
كما يجب أن يكون القوس الخاص ببداية الجملة if في نفس السطر الخاص بالمقارنة :
package main
import "fmt"
func main() {
x := 13
if x > 12 {
fmt.Println("x > 12")
}else if x < 12{
fmt.Println("x < 12")
}else{
fmt.Println("x=12")}
}
import "fmt"
func main() {
x := 13
if x > 12 {
fmt.Println("x > 12")
}else if x < 12{
fmt.Println("x < 12")
}else{
fmt.Println("x=12")}
}
يقوم هذا البرنامج بمقارنة قيمة المتغير x مع العدد 12 و طباعة النتيجة لكن يجب أنبه أن الكلمتين else و if else يجب ان تكونا في نفس السطر الذي يتنهي فيه القوس {} الخاص بالمقارنة السابقة , كما يجب أن يبدأ القوس الخاص بالمقارنة الحالية في نفس السطر .
}else if x < 12{ ً# في حالة كتابة القوسين في سطر منفصل سوف يحدث خطأ عند الترجمة
}else{
}else{
كما يجب أن يكون القوس الخاص ببداية الجملة if في نفس السطر الخاص بالمقارنة :
if x > 12 {
و هذه نهاية الدرس السادس و ان شاء الله سوف يكون الدرس السابع عن جملة switch في لغة Go .
ليست هناك تعليقات:
إرسال تعليق