Go 中的空結構:它們的用途和應用
Go 提供了一個獨特的空結構(struct{})功能。這些零大小的結構具有獨特的特徵,使它們在各種場景中都很有價值。
空結構的好處
使用範例
import "sync" var wg sync.WaitGroup func notify() { wg.Done() } func main() { wg.Add(1) go notify() wg.Wait() }
import ( "fmt" "testing" ) type SomeInterface interface { DoSomething() } type Empty struct{} func (e Empty) DoSomething() { fmt.Println("Doing something") } func Test(t *testing.T) { var i SomeInterface = Empty{} i.DoSomething() }
type Set[T comparable] map[T]struct{} func NewSet[T comparable](s []T) Set[T] { set := make(Set[T], len(s)) for _, v := range s { set[v] = struct{}{} } return set }
以上是Go中空結構體的好處和應用是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!