ما الفرق بين العاملين := و = في 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`؟
كما أنني مرتبك لأنني في بعض الأمثلة أرى استخدام := داخل الدوال، ولكن ليس على مستوى الحزمة. هل هذا قيد في اللغة؟
سأكون ممتنًا لشرح مفصل مع أمثلة عن متى يتم استخدام أي عامل.
<<>>
إجابة مختصرة
:= هو الشكل المختصر للإعلان