Avatar ·

ما الفرق بين العاملين := و = في Go؟ اشرح مع أمثلة

مرحبًا! بدأت للتو في تعلم Go ولا أستطيع فهم الفرق بين := و =. يبدو أن كلا العاملين يقومان بتعيين شيء ما، لكن المترجم يشتكي عندما أخلط بينهما. إليك مثال على كود لا يعمل لدي: ```go package main import "fmt" func main() { var name string name = "Alice" fmt.Println(name) // وهذا لا يتم ترجمته لسبب ما: var age int age := 25 // خطأ: no new variables on left side of := fmt.Println(age) } ``` لقد قرأت الوثائق، لكنها مكتوبة بشكل معقد. اشرح بكلمات بسيطة: متى نستخدم := ومتى نستخدم =؟ ولماذا في حالة يمكنني كتابة `x := 10` وفي حالة أخرى `var x int = 10`؟ كما أنني مرتبك لأنني في بعض الأمثلة أرى استخدام := داخل الدوال، ولكن ليس على مستوى الحزمة. هل هذا قيد في اللغة؟ سأكون ممتنًا لشرح مفصل مع أمثلة عن متى يتم استخدام أي عامل. <<>>

إجابة مختصرة

:= هو الشكل المختصر للإعلان