Sobes.tech
Junior

Czy w Go istnieje dynamiczne typowanie?

sobes.tech AI

Odpowiedź od AI

W Go nie ma klasycznego dynamicznego typowania. Go jest językiem z sztywnym, statycznym typowaniem, gdzie typ zmiennej jest określany podczas kompilacji i nie zmienia się podczas działania programu.

Jednak w Go istnieją interfejsy i typ interface{}, które pozwalają na pracę z dowolnymi typami danych, co tworzy pewną elastyczność podobną do dynamicznego typowania. Praca z takimi wartościami wymaga jawnego rzutowania typu lub użycia asercji typu.

Przykład użycia pustego interfejsu:

var x interface{}
 x = 42
 x = "łańcuch"

// Aby uzyskać konkretny typ, trzeba dokonać rzutowania:
if str, ok := x.(string); ok {
    fmt.Println("To jest łańcuch:", str)
}