Sobes.tech
Junior — Middle

რამდენი ადგილი სჭირდება მონაცემთა სტრუქტურას, თუ მასში არ არის ელემენტები ან მონაცემები?

sobes.tech AI

პასუხი AI-სგან

Go ენისთვის, ცარიელი სტრუქტურა (შეუკრავი სტრუქტურა) იკავებს 0 ბაიტს მეხსიერებაში. ეს ენის თავისებურებაა: ცარიელი სტრუქტურა არ შეიცავს მონაცემებს, ამიტომ მისი ზომა არის ნული.

მაგალითი:

package main

import (
	"fmt"
	"unsafe"
)

type Empty struct{}

func main() {
	var e Empty
	fmt.Println(unsafe.Sizeof(e)) // გამოიტანს 0
}

ეს სასარგებლოა, მაგალითად, შექმნათ სეტი (set) გამოყენებით მეპი map[Empty]struct{}, სადაც მნიშვნელობა დამატებით მეხსიერებას არ იკავებს.