Sobes.tech
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.