Junior
Go-da dinamik tipləşdirmə mövcuddurmu?
sobes.tech Süni İntellekt
AI-dan cavab
Go dilində klassik anlamda dinamik tipləşdirmə yoxdur. Go, statik sərt tipli bir dildir, burada dəyişənin tipi tərtib zamanı müəyyən edilir və işləmə zamanı dəyişmir.
Ancaq, Go-da interfeyslər və interface{} tipi mövcuddur, bu da hər hansı məlumat tipilə işləməyə imkan verir və dinamik tipləşdirməyə bənzər bir elastiklik yaradır. Amma bu cür dəyərlərlə işləmək üçün açıq tip çevirməsi və ya tip iddiası istifadə etmək lazımdır.
Boş interfeys nümunəsi:
var x interface{}
x = 42
x = "sətir"
// Konkret bir tip əldə etmək üçün çevirmə etmək lazımdır:
if str, ok := x.(string); ok {
fmt.Println("Bu bir sətirdir:", str)
}