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.