Golang中 struct{} 和 struct{}{}区别

Posted show58

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Golang中 struct{} 和 struct{}{}区别相关的知识,希望对你有一定的参考价值。

struct是Go中的关键字,用于定义结构类型。
例如:

type User struct {
    Name string
    Age  int
}

struct {} :表示struct类型

struct {}是一个无元素的结构体类型,通常在没有信息存储时使用。优点是大小为0,不需要内存来存储struct {}类型的值。

struct {} {}:表示struct类型的值,该值也是空。

struct {} {}是一个复合字面量,它构造了一个struct {}类型的值,该值也是空。

例子

var set map[string]struct{}
// Initialize the set
set = make(map[string]struct{})

// Add some values to the set:
set["red"] = struct{}{}
set["blue"] = struct{}{}

// Check if a value is in the map:
_, ok := set["red"]
fmt.Println("Is red in the map?", ok)
_, ok = set["green"]
fmt.Println("Is green in the map?", ok)

输出内容

Is red in the map? true
Is green in the map? false

以上是关于Golang中 struct{} 和 struct{}{}区别的主要内容,如果未能解决你的问题,请参考以下文章

golang中接口interface和struct结构类的分析

golang中json和struct的使用

Golang-struct

Golang 入门 : 结构体(struct)

Golang之struct

golang ---struct tag