Sobes.tech
Junior — Middle

Jaký je objem datové struktury bez jakýchkoli prvků nebo dat uvnitř?

sobes.tech AI

Odpověď od AI

V jazyce Go zabírá struktura bez polí (prázdná struktura) 0 bajtů paměti. Je to vlastnost jazyka: prázdná struktura neobsahuje data, takže její velikost je nula.

Příklad:

package main

import (
	"fmt"
	"unsafe"
)

type Empty struct{}

func main() {
	var e Empty
	fmt.Println(unsafe.Sizeof(e)) // Vypíše 0
}

To je užitečné například pro vytvoření množiny (set) pomocí mapy map[Empty]struct{}, kde hodnota nezabírá další paměť.