الفرق بين := و = في Go: الإعلان القصير مقابل التعيين
```html
مرحباً بالجميع! لقد بدأت للتو في تعلم Go وأنا مرتبك بشأن العاملين := و =. يبدو أن كلاهما يُستخدم للتعامل مع المتغيرات، لكن ما الفرق؟
إليك مثال حيرني:
```go
package main
import "fmt"
func main() {
name := "Анна" // هذا يعمل
var age int = 25 // هذا يعمل أيضاً
age = 30 // وهذا يعمل
// name = "Борис" // جربت هذا أيضاً
}
```
عندما أكتب name := "Анна" — كل شيء على ما يرام. لكن إذا قمت أولاً بتعريف متغير باستخدام var، ثم حاولت استخدام := مع نفس المتغير، يشتكي المترجم: "no new variables on left side of :=". لماذا؟
لاحظت أيضاً أن := يعمل فقط داخل الدوال. إذا كتبت هكذا:
```go
var version = "1.0" // عالمياً — عادي
// version := "1.0" // عالمياً — خطأ!
```
لماذا؟ وفي أي الحالات يجب استخدام :=، وفي أي الحالات يجب استخدام = فقط؟ لقد قرأت عدة دروس تعليمية، لكني ما زلت مرتبكاً. اشرح لي، من فضلك، بطريقة مبسطة، مع أمثلة، متى أستخدم أياً منهما.
```