In a dynamically typed language, you don't care what type of list it is, it's just a list. However, in a statically typed language, you don't care what type of list it is, because the type is "list A", where "A" is some type. That is, list Adifferent from list B.
, , A -> B, foreach , list A. ... , , A, . , , list C A -> B, A === C . .
Go, , , int, double, .. t "" .