Сколько занимает в памяти Struct{}{}?
Всё верно, она занимает 0 байт.
Можно проверить:
package main

import (
    "fmt"
    "unsafe"
)

type S1 struct {
    f1 int
}

func main() {
    s1 := S1{}
    s2 := struct{}{}

    fmt.Printf("s1 size: %v\n", unsafe.Sizeof(s1))
    fmt.Printf("s2 size: %v\n", unsafe.Sizeof(s2))
}
Вывод
s1 size: 8
s2 size: 0

Там, где в мапе нужны только ключи - я всегда делаю значение struct{}{}
не смотря на то что сама структура занимает 0 байт, конечно же есть накладные расходы на ее объявление, хранение указателя, ссылки и т.п. Так что это совсем не 'ничего', но использование struct{} имеет наименьшее потребление памяти https://medium.com/easyread/golang-series-empty-st...

P.S. https://www.reddit.com/r/golang/comments/om990a/ho...
Там есть интересное пояснение как работает empty struct в golang.