Sobes.tech
Junior — Middle

Mekkora egy adatstruktúra mérete, ha benne nincsenek elemek vagy adatok?

sobes.tech MI

Válasz az MI-től

Go nyelvben egy mező nélküli (üres) struktúra 0 bájt memóriát foglal el. Ez a nyelv sajátossága: egy üres struktúra nem tartalmaz adatokat, ezért mérete nulla.

Példa:

package main

import (
	"fmt"
	"unsafe"
)

type Empty struct{}

func main() {
	var e Empty
	fmt.Println(unsafe.Sizeof(e)) // 0-t fog kiírni
}

Ez hasznos például, ha egy halmazt (set) szeretnénk létrehozni egy map[Empty]struct{} típusú térképpel, ahol az érték nem foglal extra memóriát.