Junior — Middle
W jakim miejscu pamięci znajduje się obiekt utworzony za pomocą funkcji Make?
sobes.tech AI
Odpowiedź od AI
Funkcja make w Go służy do tworzenia slices, map i kanałów. Obiekty utworzone za pomocą make zawsze są umieszczane na zarządzanym stercie (heap), ponieważ wymagają dynamicznej alokacji pamięci dla ich wewnętrznej struktury (np. tablica dla slice'a lub tablica mieszająca dla mapy).
Przykład:
s := make([]int, 10) // slice z 10 elementami
Tutaj tworzony jest slice, który zawiera wskaźnik na tablicę na stercie, a sam slice jest strukturą z wskaźnikiem, długością i pojemnością. W związku z tym dane, na które wskazuje slice, są przechowywane na stercie.