Jak działają funkcje go go len()
i make()
? Ponieważ język nie obsługuje zarówno generycznych, jak i przeładowań funkcji, nie widzę możliwości, aby func len(v Type) int
był możliwy. To samo dotyczy func make(Type, size IntegerType) Type
.Golang: W jaki sposób działają funkcje len() i make()?
I nie wydaje się znaleźć funkcji w źródle odejść, najbliżej udało mi się znaleźć to this
Więcej niż bycie częścią kompilatora: jest zakodowane jako część specyfikacji języka. https://golang.org/ref/spec#Length_and_capacity https://golang.org/ref/spec#Making_slices_maps_and_channels – dyoo
len jest także jedyną "funkcją" zdolną do zwrócenia stałej (gdy jest używana na tablicach). Spec daje wbudowane specjalne moce, których zwykli śmiertelnicy nie mogą dopasować. –
Czy istnieje link do dokładnego miejsca, w którym 'len' jest faktycznie zaimplementowany? –