Sobes.tech
Junior — Middle

Kāds ir datu struktūras apjoms bez jebkādiem elementiem vai datiem iekšā?

sobes.tech AI

Atbilde no AI

Go valodā struktūra bez lauciņiem (tukša struktūra) aizņem 0 baitus atmiņā. Tā ir valodas īpašība: tukša struktūra nesatur datus, tāpēc tās izmērs ir nulle.

Piemērs:

package main

import (
	"fmt"
	"unsafe"
)

type Empty struct{}

func main() {
	var e Empty
	fmt.Println(unsafe.Sizeof(e)) // Izvadīs 0
}

Tas ir noderīgi, piemēram, veidojot kopu (set), izmantojot karti map[Empty]struct{}, kur vērtība neaizņem papildu atmiņu.