具名结构体是指在定义结构体时,给结构体类型起了一个名称,可以通过这个名称来创建结构体变量。例如:

type Person struct {
    Name string
    Age  int
}

p := Person{Name: "Alice", Age: 20}

匿名结构体是指在定义结构体时,没有给结构体类型起一个名称,只是直接定义了结构体的字段。可以通过字面量的方式创建结构体变量。例如:

p := struct {
    Name string
    Age  int
}{Name: "Alice", Age: 20}

具名结构体和匿名结构体的区别在于,具名结构体可以在定义后重复使用,可以定义方法和接口,可以作为其他结构体的字段等等。而匿名结构体只能在定义时使用,因为没有类型名称,无法在定义后重复使用,也无法定义方法和接口。

golang中具名结构体和匿名结构体区别

原文地址: https://www.cveoy.top/t/topic/Cxh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录