struct{}和interface{}都是Go语言中的数据类型,但它们的用途和特性是不同的。

struct{}是一个结构体类型,用于定义自定义的复合类型。它可以包含零个或多个具有不同类型的字段。结构体类型的值可以通过实例化一个结构体变量来创建。
interface{}是一个接口类型,用于定义一组方法签名。接口类型的值可以存储实现该接口的任何类型的值。在Go中,通过实现接口方法,一个类型可以被视为实现了该接口。接口类型的值可以通过实例化一个实现该接口的类型变量来创建。
因此,struct{}用于定义自定义的复合类型,而interface{}用于实现多态和抽象的概念,可以使不同的类型实现相同的方法,从而实现接口的多态性。

参考:
https://www.golang-tech-stack.com/qa/5612

posted on 2023-02-28 18:40  西伯尔  阅读(322)  评论(0编辑  收藏  举报