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{}, სადაც მნიშვნელობა დამატებით მეხსიერებას არ იკავებს.